PHP语句问题:$a = 0; $b = 0; if($a=3 && $b=3){ $a++; $b++;} echo $a.",".$b;

2025-02-23 15:07:10
推荐回答(2个)
回答1:

其实,多加几个括号你就明白了,因为 && 的执行大于 赋值 ,实际上执行的顺序是:


$a = 0;
$b = 0;
if ($a = ( 3 && ($b = 3))) {
    var_dump($a, $b);
    $a++;
    var_dump($a, $b);
    $b++;
}
echo $a . "," . $b;

回答2:

if的条件表达式计算时,会发生类型转换,但是只有计算结果才是bool,表达式的参与变量所属类型并不受影响。