爆款PHP面试题

$a = 3;
$b = 6;

if ($a = 4 || $b = 4) {
    $a++;
    $b++;
}
echo $a;  //输出 1 echo $b;  //输出 7

逛鸟哥博客,看评论区有个新手提了个问题, 似曾相识啊。 暂且把它命名为“爆款面试题”吧,其实这里主要考察的是运算符优先级、自增运算的问题。

不擅长组织语言, 上个注释吧。

 1 $a = 3;
 2 $b = 6;
 3 
 4 if ($a = 4 || $b = 4) {  //等同于  if ($a = (4 || $b = 4)) { 
 5     var_dump($a);        // bool  true
 6     var_dump($b);        //  int    6
 7     $a++;
 8     $b++;
 9     var_dump($a);       // bool true   因为布尔值自增运算无效
10 }
11 echo $a;  //输出 1 
12 echo $b;  //输出 7
原文地址:https://www.cnblogs.com/haries/p/7059920.html