【PHP】NULL 合体演算子
自分用メモです。
PHP7以降、??演算子が使えるようになった。
isset()を簡単に書けるようになったのである。
Contents
構文
$z = $x ?? $y;
$xがnullでなければ$x、nullであれば$yが返される。
if(isset($x)){ $z = $x; }else{ $z = $y; }
と同じ意味である。
また
$z = isset($x) ? $x : $y;
と同じ意味である。
使わないだろうけども、ネスト可能。
$a = null; $b = null; $c = 1; $d = 2; echo $a ?? $b ?? $c ?? $d;
$aがnullのため、$bが評価される。
$bがnullのため、$cが評価される。
$cが1のため、$cが評価され、出力は[1]となる。
isset
変数がセットされていること、そしてNULLでないことを検査する。
nullの時falseを返し、存在する場合trueを返す。
複数をセットすることも可能。
isset($a,$b);
すべてがセットされている場合にtrueを返す。
左から順に評価を行い、nullがあった時点で処理を終了する。
また、配列にも有効。
注意
これは変数に対してのチェックである。
定数を調べたい場合はdefined()を使用する。
参考
- タグ:
- PHP