投稿

ラベル(NULL)が付いた投稿を表示しています

[PHP] NULL判定を行う演算子

変数の値がNULLの時に初期値を設定するようなコードは、これまでif文でisset関数やempty関数、is_null関数などを使って判定し初期値を代入していましたが、NULL判定用の条件演算子、NULL判定用の代入演算子を使うことで簡潔に記述できるようになりました。 NULL判定を行う条件演算子 構文 変数 ?? 初期値 [実装例]変数のNULL判定 以下の例では、変数$var1、$var2、$var3、$var4に対してNULLの場合に初期値を代入しています。 注意する点としては、対象の変数が未定義の場合($var2)もNULLとして扱われ、空文字($var3)の場合はNULLとして扱われない点です。 コード $var1 = null; //$var2 $var3 = ""; $var4 = 1; $var1 = $var1 ?? 'default'; $var2 = $var2 ?? 'default'; $var3 = $var3 ?? 'default'; $var4 = $var4 ?? 'default'; echo "var1=", $var1, "\n"; echo "var2=", $var2, "\n"; echo "var3=", $var3, "\n"; echo "var4=", $var4, "\n"; 実行結果 $ php test_null.php var1=default var2=default var3= var4=1 NULL判定を行う代入演算子 構文 変数 ??= 初期値 [実装例]変数のNULL判定 代入演算子を使って記述すると、上記のコードをさらに簡潔に記述することが出来ます。実行すると同じ結果になります。 $var1 = null; //$var2 $var3 = ""; $var4 = 1; $var1 ??= 'default'; $var2 ??= 'default';