PHP7.0におけるNULL合体演算子(??)の使い方
PHP7.0におけるNULL合体演算子(??)の使い方
ずっとPHP7.0を使ってきたのに今更になって知ったことがあるので徒然なるままに書いていく。
合体演算子を見つけた時に「なんだよここ、文字化けしてるじゃねーか」と暫くスルーしていた自分にタイプリープして間違えなかった世界戦に移行するアニメを探しているのですがどなたか知りませんか?
NULL合体演算子とは?
「値が無かったら指定した値を代入する」みたいな感じ。
詳しくはこちら↓
新機能:Null 合体演算子
NULL合体演算子の使い方(実例)
演算子なので($a === true)
と同じように使う。
例えば
$a = "hello";
$b = "chao";
echo ($c ?? "こんにちは"); //「こんにちは」と出力
上では$c
は定義していないので普通は(合体演算子を使わなければ)PHP Notice: Undefined variable: c
のようにnoticeが吐かれてしまう。
ただ、ここでは「$cがなかったら"こんにちは"を代入する」と合体演算子が仕事してくれているので、上の様な結果になる。
(いわゆるデフォルト値を設定するってことやね。)
こんな感じで使えばよさそう
$a = "hello";
$b = "chao";
if($c ?? NULL){ //$cが無かったらNULLを入れるのでelseの処理が行われる
echo $c;
}else{
echo "bye";
}
// bye
isset()
を使わなくてもいいのはあり難い。
HTMLのFormから返ってきた$_POST
や$_GET
を処理するのにつかえるってことやね。
詳しいことは下の参考を見てください。
関係ないけど気になっていること
・宇宙船演算子ってなんだ?
・isset()
の配列verって!empty()
しかないの?
参考
実装例:PHPのnull合体演算子で「無かったら」の処理が簡単
https://qiita.com/akiyoshi_sasaki/items/1c402e6c4af05f8197e6
PHPマニュアル 新機能
https://www.php.net/manual/ja/migration70.new-features.php
Author And Source
この問題について(PHP7.0におけるNULL合体演算子(??)の使い方), 我々は、より多くの情報をここで見つけました https://qiita.com/pepao1404/items/3b44ddd1ec2736032d07著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .