Blog
Melhor com o operador NULL COALESCE do PHP7
Escreveu uma instrução if/else ou utilizou o operador ternário para um caso específico? Talvez a nova feature do PHP7, o operador "??"(null coalesce), seja a forma mais limpa para escrever o código.
Nós temos o nosso amigo condicional "?:" (ternário) que realiza tarefas de atribuição como na expressão: (expr1) ? (expr2) : (expr3) é avaliada para expr2 se expr1 é avaliada como TRUE, ou expr3 se expr1 é avaliada como FALSE.
Veja:
//o operador condicional "?:" (ternário) $action = (empty($_POST['action'])) ? 'default' : $_POST['action']; //A descrição acima é idêntica a esta instrução if/else if (empty($_POST['action'])) { $action = 'default'; } else { $action = $_POST['action']; }
Com a nova feature do PHP7, o operador "??" é responsável por retornar o primeiro valor, verificando a expr1, caso não exista ou seja nulo, será setado o valor expr2.
Ex.:
$action = $_POST['action'] ?? 'default';
E o mais interessante, isso nos permite encadear uma série de valores, lendo da esquerda para a direita. Por exemplo como neste outro caso:
//$a não definido $b = 10; echo $a ?? 1; //imprime 1 echo $a ?? $b ?? 1; //imprime 10
Veja muito mais sobre PHP7 Novos Recursos.
[],s