PHP

Novidades para Null Coalescing Operator no PHP 7

Por em

Olá pessoal, vamos entender o que muda com a chegada do PHP 7 referente ao Null Coalescing Operator, que são aqueles testes que realizamos para verificar se determinada variável é nula ou não.

Exemplo:

echo isset($var) ? $var : "";

Testes e Comparação – PHP  7 x PHP 5.6

Para entender as mudanças que o PHP 7 está trazendo fiz uma série de testes comparando com a versão do PHP 5.6. Confira a lista de testes e implemente para entender essa novidade:

<?php

#PHP 5.6

#Success
// echo (isset($_GET['num']) ? $_GET['num'] : "Not Exist" );
// echo isset($_GET['num']) ?: "Not Exist";

// echo "" ?: 'B'; // return B
// echo "A" ?: 'B'; // return A
// echo null ?: 'B'; // return B

# Error:
// echo $_GET['num'] ?: "Not Exist";
// echo $_GET['num'] ? $_GET['num'] : "Not Exist";


#Not implemented
// echo $_GET['num'] ?? "Not Exist";

#PHP 7

#Success
// echo (isset($_GET['num']) ? $_GET['num'] : "Not Exist" );
// echo isset($_GET['num']) ?: "Not Exist";
// echo "" ?: 'B'; // return B
// echo "A" ?: 'B'; // return A
// echo null ?: 'B'; // return B

#New
// echo $_GET['num'] ?? "Not Exist";
// echo "" ?? 'B'; // return ""
// echo "A" ?? 'B'; // return A
// echo null ?? 'B'; // return B

# Error:
// echo $_GET['num'] ?: "Not Exist";
// echo $_GET['num'] ? $_GET['num'] : "Not Exist";


Observe que a grande alteração é o operador “??” que funciona a partir da versão 7 do PHP e elimina o uso da função isset() para testar se a variável existe.

Vídeo

Qualquer dúvida ou dica, deixe seu comentário aqui e aproveite para se escrever no nosso canal no Youtube e conferir várias dicas de programação.

Forte abraço!