php字符串在不应该的情况下回显为0

时间:2012-08-30 15:27:28

标签: php syntax

我正在编写代码来显示某些产品的价格。如果价格为0,则不显示任何内容。

<? if ($book->price_euro != 0) {$europrice = number_format($book->price_eur, 2); echo "€$europrice";}?>
<? if ($book->price_gbp != 0) {$gbpprice = number_format($book->price_gbp, 2); echo "£$gbpprice";}?>
<? if ($book->price_usd != 0) {$usdprice = number_format($book->price_usd, 2); echo "$$usdprice";}?>

这回响“€0.00£33.00 $ 66.00”。 €价格设置为99.我认为没有任何理由认为这应该为0!难道我做错了什么?语法错误?

5 个答案:

答案 0 :(得分:10)

$europrice = number_format($book->price_eur, 2

不应该是$book->price_euro

答案 1 :(得分:6)

欧元错字

number_format($book->price_eur, 2); // This is what you have.

number_format($book->price_euro, 2); // This is what you need.

答案 2 :(得分:3)

如果没有看到更多内容,我认为这段代码没有任何问题。但也许你的变量?

<? if ($book->price_euro != 0) {$europrice = number_format($book->price_eur, 2); echo "€$europrice";}?>

price_eur应为price_euro

答案 3 :(得分:1)

number_format($book->price_eur, 2);

应该是

number_format($book->price_euro, 2);

null值导致您的问题。

答案 4 :(得分:0)

您可能仍然会获得空值或其他尝试使用空而不是

<? if (empty($book->price_euro)) {$europrice = number_format($book->price_euro, 2); echo "€$europrice";}?>
<? if (empty($book->price_gbp)) {$gbpprice = number_format($book->price_gbp, 2); echo "£$gbpprice";}?>
<? if (empty($book->price_usd)) {$usdprice = number_format($book->price_usd, 2); echo "$$usdprice";}?>