PHPのNull合体演算子
次のコードを考えてみましょう:
<?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';
}
?>