RE: [PHP] ternary operator sintax help

2009-10-06 Thread MEM
Thanks. I will give up on ?= then. And use echo instead.
 
I have declared the erros variable like this:
 
$erros=array();
 
Instead of isset I’ve also tried with empty();
 
If I have something like this, it works:
 
div class=mensagemErro?php echo (isset($erros['anexo'])) ? $erros['anexo'] 
: ''; ?/div
 
I mean, it will show the message only when the form gets submitted. At the 
beginning it will have ‘’. 
 
:s
 
Regards,
Marcio
 
 
 
From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] 
Sent: terça-feira, 6 de Outubro de 2009 19:49
To: MEM
Cc: php-general@lists.php.net
Subject: Re: [PHP] ternary operator sintax help
 
On Tue, 2009-10-06 at 19:43 +0100, MEM wrote: 
 
Hello all,
 
I'm trying to display a div, only when some php value is set.
Since this will be near html, I'd like to keep it on one line. So, I'd love
to use shortcuts and a ternary operator for the effect.
 
I'm having something like this right now, but the div still appears even if
the error is NOT set.
 
?= (isset($erros['anexo'])) ? 'div class=mensagemErro'
.$erros['anexo'].'/div' :''; ?
 
:( 
 
Can I have your help with the right syntax ?
 
 
Regards,
The newbie on a Humpty Dumpty wall,
Márcio
 
 

Firstly, ?= is a bad idea, as it's not very portable and relies on short tags 
being on, which causes all sorts of problems should you ever need PHP to output 
XML.

The only reason I can see that the div will always appear is a logic error. Are 
you sure that the $erros['anexo'] variable is not set at some point and not 
just set to an empty string? An empty string is very different from an unset 
variable. Try using var_dump($erros['anexo']); in your code somewhere to see if 
the it is actually an empty string instead.

Thanks,
Ash
http://www.ashleysheridan.co.uk


 


Re: [PHP] ternary operator sintax help

2009-10-06 Thread Ashley Sheridan
On Tue, 2009-10-06 at 19:43 +0100, MEM wrote:

 Hello all,
 
 I'm trying to display a div, only when some php value is set.
 Since this will be near html, I'd like to keep it on one line. So, I'd love
 to use shortcuts and a ternary operator for the effect.
 
 I'm having something like this right now, but the div still appears even if
 the error is NOT set.
 
 ?= (isset($erros['anexo'])) ? 'div class=mensagemErro'
 .$erros['anexo'].'/div' :''; ?
 
 :( 
 
 Can I have your help with the right syntax ?
 
 
 Regards,
 The newbie on a Humpty Dumpty wall,
 Márcio
 
 


Firstly, ?= is a bad idea, as it's not very portable and relies on
short tags being on, which causes all sorts of problems should you ever
need PHP to output XML.

The only reason I can see that the div will always appear is a logic
error. Are you sure that the $erros['anexo'] variable is not set at some
point and not just set to an empty string? An empty string is very
different from an unset variable. Try using var_dump($erros['anexo']);
in your code somewhere to see if the it is actually an empty string
instead.

Thanks,
Ash
http://www.ashleysheridan.co.uk