エンジニアなら誰もが気になるエルビス演算子について調べてみました。
はじまりはPHP7のnull合体演算子から始まる
PHPで配列の要素を扱う際に、存在しないキーを指定するとNoticeを吐いてしまう。
PHP7から導入されたNull合体演算子を使うと、これをシンプルな記述で回避できます。
いままで
$hoge = isset($_GET['hoge']) ? $_GET['hoge'] : null;
これから(PHP7)
$hoge = $_GET['hoge'] ?? null;
これでisset() ?
地獄から解放されますね。
エルビス演算子というのがあるらしい
null合体演算子について調べていたら、エルビス演算子というのがあることを知りました。
null合体演算子(PHP7から)
??
エルビス演算子(PHP5.3から)
?:
エルビス演算子はnull合体演算子とは違って存在チェックはできないのですが、似ています。
左辺がfalseと同等の値(falsyと言ったりします)の場合に右辺の値を返します。
nullだけでなく、0や空文字、空配列もfalsyな値です。
$hoge = $_GET['hoge'] ?: null;
// ↑ 同じ動き ↓
if ($_GET['hoge']) ? $_GET['hoge'] : null;
エルビス演算子の由来は?
それにしても特徴的な名前ですよね。
エルビスといえばエルビス・プレスリーが有名ですが、このエルビス演算子のエルビスは何のエルビスとはなんでしょうか?
Wikipediaを見てみましょう。
エルビス演算子はエルビス・プレスリーの顔文字(emoticon)に形が似ていることからこう呼ばれる
なん・・・だと・・・
?
がリーゼント部分、:
が目のようです。
:)
とか :D
とかの英語圏でよく使われる顔文字と同じ見方ですね。