PHP
PHPでNVL(COALESCE)
えだ
更新日:2021/08/10
OracleのNVLはターゲットがNULLだったときに代わりの値を返す関数です。
MySQLやPostgreSQL、SQLServerではCOALESCEという類似関数がありますね。
それをPHPでやりたい時は?
結論から言うと類似関数はありません!
こんなカンジでワザワザ書かないといけません。
1 |
$param1 = isset($_GET['param1']) ? $_GET['param1'] : 'no_param'; |
…という話も過去の話。(PHP 5.6.x まで)
PHP 5.7 からは「Null 合体演算子」が利用できるようになりました!
「Null 合体演算子」とは何ぞというのは後回しにし、コードを見て下さい。
1 |
$param1 = $_GET['param1'] ?? 'no_param'; |
解説としては第一オペランドが非 NULL の値であればそれを返し、そうでない場合は第二オペランドを返すのが仕様です。
PHP 5.6.x 利用中のみなさんも PHP 5.7 が利用したくてウズウズしていることでしょう。