PHPを使ってシステム開発を行っていると、金額を表示する機会もかなり多いです。

ですが、10000のような数字がそのまま出てしまうと、桁数が多い場合にとても見づらくなります。
例えば、ショッピングサイトや請求画面では、ユーザーにとって「10,000円」といった見やすいフォーマットが欠かせません。

そこで便利なのが、PHPのnumber_format()関数です。
この記事では、PHP初心者でもすぐに使える「金額を3桁ごとにカンマ区切りにする方法」を丁寧に解説していきます。

PHPで金額をフォーマットする方法は?

金額を「3桁区切り(カンマ付き)」で表示する最もシンプルな方法は、number_format()関数を使うことです。

基本的な使い方は、このようになります。

<?php
$price = 10000;
echo number_format($price); // 出力:10,000
?>

これだけで、数値を「10,000」のようにフォーマットしてくれます。
number_format()関数はPHPの組み込み関数なので、特別なライブラリを追加する必要もなく、とても便利に使えます。

詳細は公式マニュアル(PHP: number_format – Manual)も確認すると安心です。

number_formatの詳しい使い方

こちらのセクションでは、number_format()関数の詳しい使い方を説明していきます。

まず、使用できる引数はこちらです。

第1引数:フォーマットしたい数値
第2引数:小数点以下の桁数
第3引数:小数点以下を表示する場合の文字
第4引数:3桁(000)で区切る場合の、区切り文字

number_format()では、小数点以下の桁数や区切り文字も指定できます。
それでは、実際にコードを書きながら説明します。

小数点以下を表示する

小数点以下を表示する場合、第2引数を指定します。
このように、「小数点以下の桁数」を指定すると、四捨五入して表示してくれます。

<?php
echo number_format(1234.569, 2); // 出力:1,234.57
?>

区切り文字をカスタマイズ

また、第3引数と第4引数を指定すると、このようなコードになります。

<?php
echo number_format(1234.567, 2, '.', ' '); // 出力:1 234.57
?>

  • 第3引数:小数点記号(デフォルトは.
  • 第4引数:桁区切り記号(デフォルトは,

これを使えば、日本円だけでなくドルやユーロなどの表記も柔軟に対応できます。

参考:PHP 公式マニュアル – 数値フォーマット

金額表示でよくある実装例

実際によくありそうな金額フォーマットの場面を想定し、いくつかの実装例も紹介します。

商品価格をフォーマットする

<?php
$price = 2980;
echo "¥" . number_format($price); // 出力:¥2,980
?>

フォーム送信後に金額を整形

入力フォームから数値を受け取り、そのまま表示すると桁区切りされません。
その場合もnumber_format()を使えば、簡単に金額の整形が可能です。

消費税を加算して表示

<?php
$price = 5000;
$taxRate = 0.1; // 10%
$total = $price * (1 + $taxRate);
echo "合計金額:" . number_format($total) . "円"; // 出力:合計金額:5,500円
?>

number_formatを使うときの注意点

number_format()は便利な関数ですが、初心者がハマりやすい注意点もあります。

  • 数値以外の文字列を渡すと想定外の結果になる
    例:number_format("abc") → 「0」になる
  • 通貨記号は自動で付かない
    → 「円」や「¥」「$」などは自分で付ける必要がある

<?php
echo "¥" . number_format(10000); // 出力:¥10,000
?>

ちなみに、より高度な通貨フォーマットには、PHPの国際化関数 (Intl) – NumberFormatterクラスもあります。
興味のある方は、こちらも合わせてチェックしてみましょう。

まとめ

今回は、PHPユーザー向けに、金額を3桁区切りにフォーマットする方法を紹介しました。

  • PHPで金額をカンマ区切りにするならnumber_format()関数が一番簡単
  • 小数点や区切り文字をカスタマイズすることも可能
  • 金額表示はユーザーの見やすさにつながるため、必ず整形して出力するのがおすすめ

number_format()関数を使用することで、ショッピングサイトや管理画面がかなり見やすくなります。
さらに高度なフォーマットが必要になったら、PHPのIntl拡張を学んでみるのも良いでしょう。

本記事で紹介した公式ドキュメント