O operador ternário no PHP permite que você escreva simples declarações " if- else" com uma linha de código em vez de 2-5 linhas de código que possam ser necessárias para uma instrução " if-else " . Ele pode ajudar a encurtar o tempo de codificação e pode fazer um programa mais fácil de entender e mais sustentável. O operador ternário irá avaliar uma expressão condicional e retornar o resultado de uma instrução se é verdade e outra declaração , se é falsa . Ele substitui a seguinte declaração: if ($ x <0 ) {$ resultado = "negativo" ;} else { $ resultado = " não negativo ";} com esta declaração: $ result = $ x <0 ? "negativo ": " não negativo "; Ao usar o operador ternário , siga a sintaxe documentada para expressões e tome cuidado ao criar expressões mais complexas que envolvem declarações aninhadas e variáveis passadas por referência. Sintaxe
Construir uma declaração com o operador condicional ternário usando uma expressão condicional , seguido por um ponto de interrogação e uma declaração para avaliar se a expressão condicional for verdadeiro , seguido de dois pontos e uma declaração para avaliar se a expressão condicional é falsa. Por exemplo , a seguinte instrução atribui verdadeiro ou falso para a variável " is_teenager " com base na idade de uma pessoa:
$ is_teenager = ($ idade > = 13 && $ idade < = 19 ) ? verdadeiro : false ;
omissão do meio
PHP versão 5.3 ou posterior, você pode criar uma expressão ainda mais abreviada usando o operador ternário , omitindo o meio do instrução e usando a primeira expressão de tanto a expressão condicional e o valor a ser retornado se a expressão condicional é verdadeiro . Criar uma instrução condicional , seguido por um ponto de interrogação e dois pontos , seguido pela declaração de avaliar se a expressão condicional é falsa. Se a expressão condicional for verdadeiro , o resultado é verdadeiro. Por exemplo , a seguinte expressão retorna true se a idade de uma pessoa é inferior a 21 e falso caso contrário
$ idade < 21: . ? False;
Demonstrações assentamento < br >
não crie expressões complicadas usando instruções condicionais aninhadas e operadores ternários . Quando você fizer isso , você normalmente tornar o código mais difícil de entender , difícil de depurar e mais difícil de manter . Se você declarações ninho , use parênteses para que fique claro como o resultado final está sendo derivado ou considerar o uso de uma estrutura alternativa , como uma declaração " if-else " .
Resultado é uma declaração
Se você usar variáveis passadas por referência com um operador ternário , lembre-se que as expressões fornecidas com o operador são declarações , e não variáveis . Você não pode usar uma variável passada por referência , por si só como uma declaração , porque não tem valor. No PHP 5.3 e posterior, você receberá um aviso , se você construir uma instrução usando uma única variável passada por referência.