【PHP開発テクニック】null合体演算子を使いこなそう
PHPのnull合体演算子
PHPで変数の値がnullの場合とそうでない場合の処理の条件分岐はif文や三項演算子を使っても行えますが、null合体演算子を使用するとより短く簡潔に書くことができます。
null合体演算子
変数 ?? (変数の値がnullの場合)
※ null合体演算子が使用できるのはPHP7系〜となります
環境: PHP 8.1
以下の三項演算子とnull合体演算子を用いた処理はそれぞれ同じ結果となります。
<?php
ini_set("display_errors", "1");
error_reporting(E_ALL);
// $name = "ken";
$name = null;
?>
<html>
<body>
<!-- 三項演算子 -->
<p>
My Name is
<?= $name === null ? '(no name)' : $name ?>
</p>
<!-- null合体演算子 -->
<p>
My Name is
<?= $name ?? '(no name)' ?>
</p>
</body>
</html>
未定義変数を扱う場合に便利
画面テンプレート等でよくあるパターンとして、ソースコード上の変数が実行時にまだ定義されていない場合、通常は Undefined variableのエラーが発生しますが、null合体演算子を使うことで事前に回避できます。
<p><?= $name ?? null ?></p>