@Coddee.

Unity/C#とか、PHP/MySQLとか。ぺーぺーがプログラムの備忘録も兼ねて。

【PHP】数値のカンマ区切り(価格表示とか)

価格表示とか、数値の動的出力の時に、値を見やすくするために「カンマ」で数字を区切っていることがあると思いますが、いともたやすく出来るのだなーと思ったので、備忘録がてら。

使う関数はnumber_format関数

<?php
    $numTmp = 123456789;
    $num = number_format($numTmp);

    echo $num; // 結果は「123,456,789」
?>

使い方はこんな感じ。
int値をnumber_format関数に入れてあげればOK。
(いままで桁数で繰り返して、4桁目にきたらカンマを挿入していたのは内緒)

桁数とか何で区切るのかを決めることが出来る引数

引数ごとでオプションも設定できるので、うまく使うといいかも。

<?php
    $numTmp = 12345.6789;

    /**
     * 第1引数: フォーマットする数値
     * 第2引数: 小数点以下の数値をいくつ表示するか
     * 第3引数: 小数点を何の文字にするか
     * 第4引数: 千の位を何の文字で区切るか
     */
    $num = number_format($numTmp, 2, "_", "+");

    echo $num; // 結果は「12+345_67」
?>
わかると思うけど、出力は文字列(string)です。

"number"って言っているので、なんとなく数値として出力されそうですけど、記号とかスペースとか入っちゃうからね。
is_intとか使っちゃうと、当然通らないので念のためご注意をば。

PHP: number_format - Manual