我正在编写代码来显示某些产品的价格。如果价格为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!难道我做错了什么?语法错误?
答案 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";}?>