php開発日記

PHP開発で日々発生した対応などの備忘録

PHP7新機能 NULL合体演算子

isset関連の書き方が便利になる PHP7ではNULL合体演算子というものがあるようです。

php5まではこう書いていました。


//PHP5までの書き方
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

代替でこのようにかけるようです。


//PHP7からの書き方
$username = $_GET['user'] ?? 'nobody';

ちなみにNullを判定するので、こう書くと出力されません。。。


//誤った書き方
$username = isset($_GET['user']) ?? 'nobody';

知らなかったのでメモ isset()の書き方が楽になる。 連結も可能。便利


    
// $_GET['user'] を取得します。もし存在しない場合は
// 'nobody' を用います。
$username = $_GET['user'] ?? 'nobody';
// 上のコードは、次のコードと同じ意味です。
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';

// 合体演算子を連結することもできます。次のように書くと、
// $_GET['user']、$_POST['user'] そして 'nobody'
// の順に調べて、非 &null; が定義されている最初の値を返します。
$username = $_GET['user'] ?? $_POST['user'] ?? 'nobody';

    

 マニュアルよく読めという話なんですが使わないと実感わきませんね。^^;

 

参考 PHP: 新機能 - Manual