我不知道我是否遭受过大脑或视力损害,但我无法理解此代码的行为:
$po=1;
$po2=0;
echo $po.'*'.$po2.'=';
if($po*$po2) $po=1;
echo $po;
我希望输出为1 * 0 = 0,但实际上它是1 * 0 = 1.
答案 0 :(得分:3)
$po
始终为1.您将其初始化为1,稍后在if
案例中,您没有else
。所以它仍然是1
。
相反,添加一个`else:
$po = 1;
$po2 = 0;
echo $po.'*'.$po2.'=';
if ($po * $po2) {
// Unnecessary - it's already 1
$po = 1;
}
// Set it to 0...
else {
$po = 0;
}
echo $po;