2011-11-10 57 views
0

我不知道有沒有受到一些腦或視力損害,但我無法理解這段代碼的行爲:PHP乘法怪異的行爲

$po=1; 
$po2=0; 
echo $po.'*'.$po2.'='; 
if($po*$po2) $po=1; 
echo $po; 

我期望輸出爲1 * 0 = 0,但實際上它是1 * 0 = 1。

回答

3

$po始終爲1.您將其初始化爲1,稍後在if的情況下,您沒有else。所以它仍然是1

相反,添加一個`其他:

$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; 
+0

哦,非常感謝,哈哈 – user965748