Existe também uma variação do null coalesce operator que é o ??=
// Se A for nula, então recebe B - forma convencional
$a = $a ? $a : $b;
// forma simplificada
$a = $a ?? $b;
// Null coalesce diferentão
$a ??= $b;
Existe também uma variação do null coalesce operator que é o ??=
// Se A for nula, então recebe B - forma convencional
$a = $a ? $a : $b;
// forma simplificada
$a = $a ?? $b;
// Null coalesce diferentão
$a ??= $b;
a ??= b;
Esse null coalescing, é muito interessante, ainda não sendo usado. Valeu pela dica silvestrini
Dessa forma eu nunca tinha visto, massa!
A primeira vez que o vi em atuação foi na atribuição de password da UserFactory do Laravel.
Conheci pelo JS, então quando soube que existia no PHP também já tinha essa bagagem.
voce pode usar como um if de uma linha exemplo:
`(condicao)??funcaoQueFazCoisa();
//early return
(validacao)?? return $respostaJson;`
ps: to no celular não consegui formatar como código
$donoDoTwitter = 'Ellon Musk'
;
Abaixo os códigos verificarão se a string $donoDoTwitter
é mesmo o 'Ellon Musk'
:
Verificação com if
:
if($donoDoTwitter == 'Ellon Musk'){ return true; // Verdade } else return false; // Mentira } // Retorno esperado: true;
Mesma verificação, mas com '??
':
$donoDoTwitter = ($donoDoTwitter == 'Ellon Musk') ? true : false; // Retorno esperado: true;
Verificando se $donoDoTwitter
NÃO é nulo:
$donoDoTwitter ??= false; // Retorno esperado: true;