0

いくつかの製品の価格を表示するコードを書いています。価格が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としてエコーする理由は何もわかりません。私は何か間違ったことをしていますか?悪い構文?

4

5 に答える 5

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

そうではない$book->price_euroですか?

于 2012-08-30T15:29:54.443 に答える
6

ユーロのタイプミス

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

number_format($book->price_euro, 2); // This is what you need.
于 2012-08-30T15:30:08.540 に答える
3

これ以上見なくても、このコードに問題はありません。しかし、多分あなたの変数?

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

price_eurする必要がありprice_euroますか?

于 2012-08-30T15:30:19.490 に答える
1
number_format($book->price_eur, 2);

する必要があります

number_format($book->price_euro, 2);

null 値が問題の原因です。

于 2012-08-30T15:32:49.533 に答える
0

まだnull値を取得している可能性があります。または、代わりに空を使用してみてください。

<? 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";}?>
于 2012-08-30T15:31:03.490 に答える