PHP sintaxe pergunta: O que faz o ponto de interrogação e de cólon média? [duplicado]
-
16-09-2019 - |
Pergunta
Duplicate possíveis:
rápida pergunta sintaxe php
return $add_review ? FALSE : $arg;
O que fazer ponto de interrogação e de cólon média?
Graças
Solução
Este é o PHP ternário operador (também conhecido como um operador condicional) - se primeiro operando avalia verdade, avaliar como segundo operando, outra avaliar como terceiro operando
.Pense nisso como um "se" declaração que você pode usar em expressões. Pode ser muito útil na tomada de atribuições concisas que dependem de alguma condição, por exemplo.
$param = isset($_GET['param']) ? $_GET['param'] : 'default';
Há também uma versão abreviada deste (em PHP 5.3 em diante). Você pode deixar de fora o operando meio. O operador irá avaliar como o primeiro operando, se é verdade, eo terceiro operando contrário. Por exemplo:
$result = $x ?: 'default';
É importante mencionar que o código acima ao usar ie $ _GET ou $ _POST variável vai jogar aviso índice indefinido e para evitar que precisamos usar uma versão mais longa, com isset
ou a operador nulo coalescentes que é introduzido no PHP7:
$param = $_GET['param'] ?? 'default';
Outras dicas
É a forma ternária do operador if-else. A declaração acima lê basicamente assim:
if ($add_review) then {
return FALSE; //$add_review evaluated as True
} else {
return $arg //$add_review evaluated as False
}
Veja aqui para mais detalhes sobre ternário op em PHP: http: //www.addedbytes. com / php / ternário-condicionais /