【发布时间】:2011-11-10 01:55:10
【问题描述】:
我不知道我是否遭受了一些大脑或视力损伤,但我无法理解这段代码的行为:
$po=1;
$po2=0;
echo $po.'*'.$po2.'=';
if($po*$po2) $po=1;
echo $po;
我希望输出为 1*0=0,但实际上它是 1*0=1。
【问题讨论】:
标签: php if-statement operators multiplication
我不知道我是否遭受了一些大脑或视力损伤,但我无法理解这段代码的行为:
$po=1;
$po2=0;
echo $po.'*'.$po2.'=';
if($po*$po2) $po=1;
echo $po;
我希望输出为 1*0=0,但实际上它是 1*0=1。
【问题讨论】:
标签: php if-statement operators multiplication
$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;
【讨论】: