$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 Jan 24, 2018
$a = (1 || $b = 2 && $c = 3) )
true 0 0 |
2
Mitt Jan 24, 2018
代码水平问题 这种智力题还是少发吧
|
3
killeryang Jan 24, 2018
1 0 0
|
4
whileFalse Jan 24, 2018
结果是写这个代码的程序员被其 leader 臭骂一顿
|
5
savasun Jan 26, 2018
C
|
6
pantingwen Jan 29, 2018
如果运算符优先级相同,那运算符的结合方向决定了该如何运算。例如,"-"是左联的,那么 1 - 2 - 3 就等同于 (1 - 2) - 3 并且结果是 -4. 另外一方面,"="是右联的,所以 $a = $b = $c 等同于 $a = ($b = $c)。
结果就是 C |