【问题标题】:PHP multiplication weird behaviorPHP乘法奇怪的行为
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-02
      • 2012-01-21
      • 2013-01-07
      • 1970-01-01
      • 2014-08-17
      • 2012-01-22
      • 1970-01-01
      • 2014-07-08
      相关资源
      最近更新 更多