PHPで三項目演算子を入れ子にする方法。

見易さ度外視孤高のワンライナーには必須の文法「三項目演算子」。
さらにこれを入れ子に出来ないかと調べてみたら簡単に出来たのでメモ。

まずはスタンダードな三項目演算子。

$needle = null;
$res = is_null($needle) ? 'null' : 'not null';
var_dump($res);
↓
string(4) "null"

たとえば上記式の評価後に更に条件を分岐させたい場合、参考演算子全体を括弧で括ればひとつの式として正常に評価されるので、入れ子に記述しても全く問題ないのである。

下記例。

$needle = '';
$res = is_null($needle) ? 'null' : (is_string($needle) ? 'string' : 'not string');
var_dump($res);
↓
string(6) "string"

これでワンライナーが更に捗る。