Null coalescing operator in PHP
Laten we de volgende code bekijken:
<?php
if (isset($arr['test'])) {
$elem = $arr['test'];
} else {
$elem = 'empty';
}
?>
Deze code kan worden herschreven met behulp van de dubbele punt operator:
<?php
$elem = isset($arr['test']) ? $arr['test'] : 'empty';
?>
Zowel de eerste als de tweede codevariant
zijn echter enigszins omslachtig. Om dergelijke constructies
te vereenvoudigen, werd de null coalescing operator
bedacht, welke wordt
voorgesteld door het commando ??. Laten we onze
code herschrijven met deze operator:
<?php
$elem = $arr['test'] ?? 'empty';
?>
Herschrijf de volgende code met behulp van de bestudeerde operator:
<?php
$user = ['name' => 'john', 'age' => 30];
if (isset($user['name'])) {
$name = $user['name'];
} else {
$name = 'unknown';
}
?>