Существует эта линия:Разница между языками программирования на приоритете оператора?
$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');
Im действительно путают о приоритетах оператора.
Любые идеи помогут.
Только PHP имеет то странное ассоциативность о тройном оператора. – nhahtdh
Мне нравится ваше наблюдение, но не уверен в вашем замешательстве. Нелегко ли ответить, что разные языки имеют разные способы интерпретации и, следовательно, производят разные результаты ... –
Считается ли это ошибкой? или такие различия обычны? – MeeDNite