在写下我对如何在三元运算符中分配给多个变量的问题的回答之后,我实际上尝试了我编写的代码:
true ? $w = 100 xor $r = 200 : $w = 300 xor $r = 400;
var_dump($w); var_dump($r);
(不要打扰它没用,这是理论上的。)
现在,我希望 PHP 根据运算符优先级这样做:
true ? $w = 100 xor $r = 200 : $w = 300 xor $r = 400 ;
(true) ? ( $w = 100 xor $r = 200 ) : ( $w = 300 xor $r = 400 );
(true) ? (($w = 100) xor ($r = 200)) : (($w = 300) xor ($r = 400));
在评估三元运算符的第一部分时,应输出:
int 100
int 200
但相反我得到
int 100
int 400
这对我来说很奇怪,因为它需要执行三元运算符的两个部分。
假设这是我的想法有问题。