Null coalescing operator i PHP
La oss se på følgende kode:
<?php
if (isset($arr['test'])) {
$elem = $arr['test'];
} else {
$elem = 'empty';
}
?>
Denne koden kan omskrives ved hjelp av den ternære operatoren:
<?php
$elem = isset($arr['test']) ? $arr['test'] : 'empty';
?>
Imidlertid er både den første og den andre kodeversjonen
litt tungvint. For å forenkle
slike konstruksjoner ble null coalescing operatoren oppfunnet,
som representerer
kommandoen ??. La oss omskrive koden vår
ved hjelp av denne operatoren:
<?php
$elem = $arr['test'] ?? 'empty';
?>
Omskriv følgende kode ved hjelp av den studerte operatoren:
<?php
$user = ['name' => 'john', 'age' => 30];
if (isset($user['name'])) {
$name = $user['name'];
} else {
$name = 'unknown';
}
?>