PHP のマニュアルでは、"Operators"の下に次のような "ユーザー投稿メモ" があります。
php では、三項演算子 ?: は C や C++ では右結合性を持つのとは異なり、左結合性を持つことに注意してください。
次のようなコードを書くことはできません (C/C++ で慣れているかもしれません)。
<?php $a = 2; echo ( $a == 1 ? 'one' : $a == 2 ? 'two' : $a == 3 ? 'three' : $a == 4 ? 'four' : 'other'); echo "\n"; // prints 'four'
実際に試してみると、本当に印刷されfour
ます。ただし、その背後にある理由を理解できず、印刷する必要があると感じていますtwo
またはother
.
ここで何が起こっているのか、なぜ「4」と表示されているのか説明してもらえますか?