2010-12-12 5 views
1

私はPHPで番号の形式を使用しようとすると、私は次のエラーを取得する:PHPのをnumber_format()変数

お知らせ:非うまく形成された数値が

$number = 10345.34543; 
$format = "0, ',', '.'"; 
echo number_format($number, $format); 

私が遭遇しました私は文字列で定型部分を保持しているのでほぼ正になりますが、これを回避する方法はありますか?

ありがとうございました。

+1

[読み取り](http://php.net/manual/en/function.number-format.php)。答えはそこにあります。あなたは完全に機能を悪用しています。 – meagar

答えて

1

引数を渡そうとしている形式は不可能です。 intの代わりに文字列を渡しています。

expected parametersは以下のとおりです。

string number_format (float $number , 
         int $decimals = 0 , 
         string $dec_point = '.' , 
         string $thousands_sep = ',') 

あなたはそれに応じて引数を渡す必要があります:あなたはあなたが表示され、この方法を行うには、特別な理由がある場合

echo number_format($number, 0, ",", "."); 

は、あなたが使用する必要がありますeval()これは非常に落胆しているか、おそらくcall_user_func_array()ですが、まずあなたがしようとしていることを詳細に説明しなければなりません。

+0

これを行う理由は、DBにフォーマットを保存したいということです。 $ formatは実際に私のDBから得ている文字列です。これについて最善の方法は何でしょうか? – David

+0

@David私は値を別々に保存するか、 '#。##'形式のパターンをセキュリティの影響なしで格納できる 'sprintf()'のようなものを使用します。 –

+0

@Davidはそれらを個別に、愚かに保存します。 –