Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

flavialieggio

[Resolvido] O que significa

Recommended Posts

é um IF/else compacto chamado operador ternário:

 

Operador Ternário

 

Outro operador condicional é o operador "?:" (ou ternário).

 

Exemplo #2 Atribuindo um valor padrão

<?php
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// The above is identical to this if/else statement
if (empty($_POST['action'])) {
	$action = 'default';
} else {
	$action = $_POST['action'];
}

?>

A expressão (expr1) ? (expr2) : (expr3) é avaliada para expr2 se expr1 é avaliada como TRUE, ou expr3 se expr1 é avaliada como FALSE.

 

Nota: Note que o operador ternário é um comando, e ele não é avaliado para uma variável, mas para o resultado do comando. Isto é importante saber se você quer retornar uma variável por referência. O comando return $var == 42 ? $a : $b; em uma função que retorna por referência conseqüêntemente não irá funcionar e será avisado nas últimas versões do PHP.

 

Nota: É recomendado para evitar "stacking" de expressões ternárias. O comportamento do PHP quando usando mais de um operador ternário no único comando não é óbvio:

 

Exemplo #3 Não-óbvio comportamento do ternário

<?php
	// o seguinte aparenta imprimir 'true'
	echo (true?'true':false?'t':'f');

	// conteudo, a saída acima é 't'
	// isto por causa da expressão ternário se avaliada da esquerda pra direita

	// o seguinte é a versão mais óbvia do mesmo código acima
	echo ((true ? 'true' : 'false') ? 't' : 'f');

	// aqui, você pode ver que a primeira expressão é avaliada para 'true', que
	// por sua vez avalia para (bool)true, assim retornando a parte true da
	// segunda expressão ternária.
	?>

Fonte: http://www.php.net/manual/pt_BR/language.o....comparison.php

 

 

 

[edit]

Complementando...

 

Há dois problemas no código que você postou. O índice do array está sem aspas (é necessário usar aspas para índices do tipo string) e o certo seria usar isset:

$var = isset($_POST['teste']) ? $_POST['teste'] : null;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Beraldo.. ola pessoal, boa noite! ^_^

 

infelizmernte so hoje consegui ver essa resposta. Muito obrigada mesmo por esclarecer... não sabia disso e estava pesquisando de forma errada pois nao sabia que se referia a operador ternario....

obrigada pelo esclarecimento!!! muito bom mesmo!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

e quanto ao codigo que passei, foi so para ilustrar.... obrigada pessoal mais uma vez!!!!

[]'s

Flávia

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.