Null coalescing operator во PHP
Да го разгледаме следниот код:
<?php
if (isset($arr['test'])) {
$elem = $arr['test'];
} else {
$elem = 'empty';
}
?>
Овој код може да се препише со употреба на тернарен оператор:
<?php
$elem = isset($arr['test']) ? $arr['test'] : 'empty';
?>
Меѓутоа, и првата и втората верзија на кодот,
предизвикуваат одредено неудобство. За да се поедностават
ваквите конструкции, беше воведен операторот
за спојување со null, кој се
претставува со командата ??. Да го препишеме нашиот
код со овој оператор:
<?php
$elem = $arr['test'] ?? 'empty';
?>
Препишете го следниот код со употреба на научениот оператор:
<?php
$user = ['name' => 'john', 'age' => 30];
if (isset($user['name'])) {
$name = $user['name'];
} else {
$name = 'unknown';
}
?>