次の行があります。
$var = true ? '1' : false ? '2' : '3';
PHP では、$var
この行の後に '2' になります。
ただし、他の一部の言語 (特に C ベースの言語) では、結果変数は「1」になります。
PHP はこの行を次のように解釈するようです。
$var = (true ? '1' : false) ? '2' : '3';
しかし、他の言語は次のようにします:
string var = true ? '1' : (false ? '2' : '3');
私は実際にオペレーターの優先順位について混乱しています。
どんなアイデアでも役に立ちます。