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

