Capa

Table of Contents

  1. Como funciona
  2. Importante!
  3. Conclusão

O PHP7, nova versão da linguagem mais popular para web, foi lançada a pouco tempo e trouxe algumas novidades bem interessantes. Hoje iremos discutir sobre uma destas novidades, o operador null coalesce. Apesar do nome um pouco estranho, esta novidade nos trás uma ótima vantagem e é bem fácil! Vale lembrar que este operador não é exclusivo do PHP, o C# por exemplo, já possui esse operador.

O operador null coalesce é representado por duas interrogações (??)

Como funciona

Retorna o valor do seu primeiro operando se ele existe e não é NULL, ou então retorna o valor do segundo operando.

Não entendeu? Então vamos mostrar um exemplo:

1
2
3
4
5
6
7
8
<?php
// Caso a varíavel $_GET['nomeCliente'] seja null,
// a varíavel $nomeCliente recebe 'ninguem' como valor.

$nomeCliente = $_GET['nomeCliente'] ?? 'ninguem';

// Isso é equivalente a (If ternário)
$nomeCliente = isset($_GET['nomeCliente']) ? $_GET['nomeCliente'] : 'ninguem';

O operador null coalesce ainda pode ser usado em cadeia. Isso é útil quando você precisa verificar valores de várias fontes para preencher uma variável.

1
2
<?php
$nomeCliente = $_GET['nomeCliente'] ?? $_POST['nomeCliente'] ?? 'ninguem';

Neste caso acima, a variável $nomeCliente irá receber o primeiro valor definido entre as variáveis.

A ordem aqui é muito importante, caso a variável $_GET[‘nomeCliente’] tivesse algum valor, seria prioridade entre as demais.

Importante!

O operador é muito legal e facilita bastante nossa vida, mas note que:

1
2
<?php
$cliente = null ?? 'Sem cliente';

A variável $cliente recebe o valor ‘Sem cliente’.

Mas

1
2
<?php
$cliente = false ?? 'Sem cliente';

Resulta em $cliente = false!

Conclusão

Espero que vocês tenham gostado desse operador! Falarei sobre mais algumas novidades do PHP 7 nos próximos posts!