TL;DR
既出ネタ。PHP では三項演算子をネストさせないようにした方が良い。
Ruby
$ ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
rb
a = true
b = true
puts a ? 'あ' : b ? 'い' : 'う' #=> あ
Perl
$ perl -E'say$^V'
v5.18.4
pl
local $\ = "\n";
my $a = 1;
my $b = 1;
print $a ? 'あ' : $b ? 'い' : 'う'; #=> あ
Node.js
$ node -v
v12.4.0
js
let a = true;
let b = true;
console.log( a ? 'あ' : b ? 'い' : 'う' ); //=> あ
Swift
$ swift --version
Apple Swift version 5.0.1 (swiftlang-1001.0.82.4 clang-1001.0.46.5)
Target: x86_64-apple-darwin18.6.0
swift
let a = true
let b = true
print( a ? "あ" : b ? "い" : "う" ) //=> あ
PHP
$ php -v
PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
三項演算子を "積み重ねて" 使用することは避けましょう。 ひとつの文の中で複数の三項演算子を使用した際の PHP の振る舞いは、 少々わかりにくいものです。
php
<?php
$a = true;
$b = true;
# ……🤔?
echo $a ? 'あ' : $b ? 'い' : 'う'; #=> い
echo PHP_EOL;
# 正しい(?)書き方
echo $a ? 'あ' : ( $b ? 'い' : 'う' ); #=> あ
echo PHP_EOL;
おわり
おわりです