Interessante isso Edinho, pensava que a condição era feita nos dois, e 
não que nesse formato ela acionava o print.
De qualquer forma, prefiro digitar um pouquinho mais e ter um código 
mais claro... :) Mas não deixa de ser uma solução.

Abs

Muita sorte para nós!

Marco Telles




Edinho Almeida escreveu:
> Oi Marco,
> No ruby utilizam bastante este recurso, no php só vi no Kohana este uso.
> O teste não é usado como teste.
> Parte do princípio que se o primeiro teste de uma condição com 'OR' 
> for 'True' ele nem rodará o seguinte.
> ex:
> $a=1;
> true OR $a=2;
> echo $a; //imprimirá 1
> Do mesmo modo se o primeiro teste resultar em 'False' numa condição 
> 'AND' ele nem testará o segundo.
> empty($valor) AND $valor=3;
> //repare que após o AND não há uma comparação e sim uma atribuição que 
> somente ocorrerá se $valor for vazio
> //$valor=3 na verdade retorna 3 mas não importa para o teste pois ele 
> termina com ";", ou seja não há chaves de abertura e fechamento para 
> indicar o bloco que será executado caso a condição resultante seja true.
>
> talvez mais claramente:
> !empty($valor) OR $valor=3;//$valor não pode ser vazio 'ou' será 
> atribuido 3 a ele.
>
> Abs
> Edinho Almeida
>
>
>
>
>
> 2008/4/22 Marco Telles <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>>:
>
>     Oi Edinho, problemas acho que não tem, porém no Zend, eles pregam
>     entre
>     outras coisas a usar a sintaxe completa, tipo:
>     <?php echo $blabla; ?> no lugar de <?=$blabla; ?> e tem outras
>     coisas no
>     manual, que agora não me lembro.
>
>     Agora, só uma coisa, uma vez que print retorna sempre 1, qual a
>     finalidade de um teste desse ?
>
>     Outra coisa, isso acredito que funcione em funções que retorne um
>     boolean, já viu nos casos de função retornando string ou números ?
>     O php
>     normalmente converte os tipos, mas num caso de decisão, é correto
>     fazer
>     isso ?
>
>
>     Abs
>
>     Muita sorte para nós!
>
>     Marco Telles
>
>
>
>     Edinho Almeida escreveu:
>     > Me desculpem a mensagem cortada,
>     >
>     > Teclei TAB e enter querendo criar identação, porém foi para 'send' e
>     > enviou o email.
>     >
>     > Enfim,
>     > Alguém vê problemas em utilizar este tipo de sintaxe ?
>     >
>     > //na view
>     > isset($menu) AND print($menu);
>     >
>     > //em vez de:
>     > if(isset($menu)){
>     >     print($menu);
>     > }
>     >
>     > Outro exemplo:
>     >
>     > //no controller
>     > $data['menu'] = $result_menu OR $data['menu'] = ' ';
>     > $this->load->view('pagina', $data);
>     >
>     >
>     > --
>     > Abs
>     > Edinho Almeida
>     > 11 3711-7074
>     > 11 3564-8906
>     >
>     >
>     >
>     > --
>     > Abs
>     > Edinho Almeida
>     > 11 3711-7074
>     > 11 3564-8906
>     >
>     ------------------------------------------------------------------------
>     >
>     > _______________________________________________
>     > Lista mailing list
>     > [email protected] <mailto:[email protected]>
>     > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>     >
>
>     _______________________________________________
>     Lista mailing list
>     [email protected] <mailto:[email protected]>
>     http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
>
>
> -- 
> Abs
> Edinho Almeida
> 11 3711-7074
> 11 3564-8906
> ------------------------------------------------------------------------
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>   

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a