如果变量为空,PHP将输出文本

3

如果我的变量$amount等于零,我希望能够输出€00.00。

我做错了什么,你能帮忙吗?

代码:

while ($row9 = mysql_fetch_array($result9))
{
$amount = $row9['amount'];
}
//$amount = $amount / 60;
//$amount = round($amount, 2);
if $amount == 0 echo "<b>Balance: &#8364;00.00</b>";
else
echo "<b>Balance: $$amount</b>";
3个回答

3

您需要将if/else放在循环中,并且您有一些无效的语法(缺少括号和双$)。所以:

while ($row9 = mysql_fetch_array($result9))
{
  $amount = $row9['amount'];
  if ($amount == 0)
  { 
    echo "<b>Balance: &#8364;00.00</b>";
  }
  else
  {
    echo "<b>Balance: $amount</b>";
  }
}

1

您在$amount中添加了额外的$,请尝试以下代码:

if ($amount == 0) {
   echo "<b>Balance: &#8364;00.00</b>";
} else {
  echo "<b>Balance: $amount</b>";
}

实际上,你可以通过以下方式使你的代码更易读/标准化:

if ($amount == 0)
{
  echo "<b>Balance: &#8364;00.00</b>";
}
else
{
  echo "<b>Balance: $amount</b>";
}

1
条件周围的括号是必需的,这不是可读性的问题。 - Matthew Flaschen
1
第一个代码示例中仍然缺少括号。 - waiwai933
1
@waiwai933:我已经纠正了原帖中的一个错误,发布了他的代码,这就是后来我建议他更好的编码风格的原因。 - Web Logic
1
@Web 毫无疑问。尽管如此,您仍然建议他使用第一个示例,这就是我们指出没有括号的原因。 - waiwai933
1
在你最后的示例中,如果数据库返回 amount'0.00'if (!$amount) 将被评估为 false - webbiedave

0

我已将if语句移至while循环内部,清理了代码并删除了最后一行多余的$符号。

while ($row9 = mysql_fetch_array($result9)) {
    if ($row9['amount']) == 0 {
        echo "<b>Balance: &#8364;00.00</b>";
    } else {
        echo "<b>Balance: $row9['amount']</b>";
    }    
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接