$a = $b = $c = 0;
if ($a = 1 || $b = 2 && $c = 3){
var_dump($a, $b, $c);
}
选项
A: 报错
B: int(0), int(2), int(3)
C: bool(true), int(0), int(0)
D: 其他
1
slince 2018 年 1 月 24 日
$a = (1 || $b = 2 && $c = 3) )
true 0 0 |
2
Mitt 2018 年 1 月 24 日
代码水平问题 这种智力题还是少发吧
|
3
killeryang 2018 年 1 月 24 日
1 0 0
|
4
whileFalse 2018 年 1 月 24 日
结果是写这个代码的程序员被其 leader 臭骂一顿
|
5
savasun 2018 年 1 月 26 日
C
|
6
pantingwen 2018 年 1 月 29 日
如果运算符优先级相同,那运算符的结合方向决定了该如何运算。例如,"-"是左联的,那么 1 - 2 - 3 就等同于 (1 - 2) - 3 并且结果是 -4. 另外一方面,"="是右联的,所以 $a = $b = $c 等同于 $a = ($b = $c)。
结果就是 C |