三項演算子のネストには賛否両論あるけど、時にはこういう風に書きたいこともあるわけで。 <?php $value = 'hoge'; $result = $value == 'hoge' ? 10 : $value == 'fuga' ? 20 : -1; print $result; ?> 20 期待する出力は10なんだけど、なぜか20になる。 そこでこんな風にしてみたら…… <?php $value = 'hoge'; $result = $value == 'hoge' ? hoge() : $value == 'fuga' ? fuga() : -1; print $result; function hoge() { print 'hoge'; return 10; } function fuga() { print 'fuga'; return 20; } ?> hogefuga2