Null coalescing-operatorn i PHP
Betrakta följande kod:
<?php
if (isset($arr['test'])) {
$elem = $arr['test'];
} else {
$elem = 'empty';
}
?>
Denna kod kan skrivas om med hjälp av en ternär operator:
<?php
$elem = isset($arr['test']) ? $arr['test'] : 'empty';
?>
Men både den första och den andra versionen av koden
orsakar en viss obekvämlighet. För att förenkla
sådana konstruktioner uppfanns null coalescing-operatorn, som representeras
av kommandot ??. Låt oss skriva om vår
kod med denna operator:
<?php
$elem = $arr['test'] ?? 'empty';
?>
Skriv om följande kod med hjälp av den studerade operatorn:
<?php
$user = ['name' => 'john', 'age' => 30];
if (isset($user['name'])) {
$name = $user['name'];
} else {
$name = 'unknown';
}
?>