有这一行:
$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');
我实际上对运营商的优先级感到困惑。
任何想法都会有所帮助。