Null coalescing operatoren i PHP
Overvej følgende kode:
<?php
if (isset($arr['test'])) {
$elem = $arr['test'];
} else {
$elem = 'empty';
}
?>
Denne kode kan omskrives ved hjælp af den ternære operator:
<?php
$elem = isset($arr['test']) ? $arr['test'] : 'empty';
?>
Dog er både den første og den anden kodeversion
noget besværlig. For at forenkle sådanne
konstruktioner blev null coalescing operatoren opfundet,
som repræsenterer
kommandoen ??. Lad os omskrive vores
kode med denne operator:
<?php
$elem = $arr['test'] ?? 'empty';
?>
Omskriv følgende kode ved hjælp af den studerede operator:
<?php
$user = ['name' => 'john', 'age' => 30];
if (isset($user['name'])) {
$name = $user['name'];
} else {
$name = 'unknown';
}
?>