PHP エルビス演算子について
えープログラムでよくあるnullかどうかをチェックしてnullじゃなければその値を使い、そうじゃなければディフォ値を使うみたいな処理
例えばPOSTを受けてそれを変数で受け取る場合などです。
1 2 3 4 5 |
<?php $var = @$_POST["name"]?:""; #この場合$_POST['name']に値があれば$varには$_POST['name']が入り、ない場合は""(空白)が入ります。 |
三項演算子でいろいろ書いていたのですが、上記のようなエルビス演算子という手法で大変きれいに書けます。
注:@ですがエラーの抑制なので極力使わない方がいいですね・・・昔の現場で乱発してあるコードをみて直してた記憶あるな・・・
注意点としては0やfalseなども一括で判定されてしまうので、0と空白を分割させたい場合には使えません。
ちなみにJavascriptでも似たような書き方で、下記のように書けます。
1 2 |
//hogehogeに値があればそのままなければ'foofoo'を入れる var name = hogehoge || 'foofoo' |