読み込み中...

PHPで数値を使う5つの方法:初心者向け完全ガイド

PHPで数値を扱う方法を初心者向けに解説するイラスト PHP
この記事は約6分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読むと、PHPで数値を扱う基本的な方法を習得することができます。

初心者の方でも理解できるように、基本的な概念からサンプルコードまで丁寧に解説していきます。

●PHPの数値とは

PHPでは、数値は整数(int)と浮動小数点(float)の2種類のデータ型で扱います。

それぞれ特性と利用する際の注意点がありますが、ここではその基本をお伝えします。

○数値の基本

整数は、名前の通り整数値を扱うためのデータ型です。

一方、浮動小数点は小数点以下の数値も扱えますが、その精度には注意が必要です。

それについては後述します。

●PHPで数値を扱う方法

次に、PHPで数値を扱う具体的な方法について解説します。

○サンプルコード1:整数の演算

まずは整数の基本的な演算から見ていきましょう。

<?php
$a = 5; // 整数の定義
$b = 2;

$c = $a + $b; // 加算
echo $c; // 出力: 7

$d = $a - $b; // 減算
echo $d; // 出力: 3

$e = $a * $b; // 乗算
echo $e; // 出力: 10

$f = $a / $b; // 除算
echo $f; // 出力: 2.5

$g = $a % $b; // 剰余
echo $g; // 出力: 1
?>

このコードは、整数5と2の加減乗除を行い、その結果を出力するものです。

PHPでは算術演算子を用いて簡単に演算を行うことができます。

○サンプルコード2:浮動小数点の演算

次に、浮動小数点の演算を見てみましょう。

<?php
$a = 1.2; // 浮動小数点の定義
$b = 0.7;

$c = $a + $b; // 加算
echo $c; // 出力: 1.9

$d = $a - $b; // 減算
echo $d; // 出力: 0.5

$e = $a * $b; // 乗算
echo $e; // 出力: 0.84

$f = $a / $b; // 除算
echo $f; // 出力: 1.7142857142857
?>

このコードでは、浮動小数点1.2と0.7の加減乗除を行っています。

○サンプルコード3:数値の型変換

PHPでは、数値の型変換も可能です。例えば、整数を浮動小数点に、浮動小数点を整数に変換できます。

<?php
$a = 10; // 整数の定義
$b = (float)$a; // 整数を浮動小数点に型変換
echo $b; // 出力: 10.0

$c = 1.7; // 浮動小数点の定義
$d = (int)$c; // 浮動小数点を整数に型変換
echo $d; // 出力: 1
?>

このコードでは、整数10を浮動小数点10.0に、浮動小数点1.7を整数1に変換しています。

○サンプルコード4:数値の丸め処理

PHPでは、浮動小数点の数値を丸めるための関数も用意されています。

<?php
$a = 1.6;

$b = round($a); // 四捨五入
echo $b; // 出力: 2

$c = ceil($a); // 切り上げ
echo $c; // 出力: 2

$d = floor($a); // 切り捨て
echo $d; // 出力: 1
?>

このコードでは、浮動小数点1.6を四捨五入、切り上げ、切り捨ての各処理を行っています。

●PHPの数値操作の応用例

PHPで数値を扱う基本的な方法を学んだところで、これらを組み合わせた応用例を見てみましょう。

○サンプルコード5:平均値の計算

このコードでは、配列に含まれる数値の平均値を計算しています。

<?php
$numbers = array(1, 2, 3, 4, 5); // 配列の定義

$total = array_sum($numbers); // 配列の合計値を計算
$average = $total / count($numbers); // 平均値を計算

echo $average; // 出力: 3
?>

●PHPで数値を扱う際の注意点

PHPで数値を扱う際には、いくつかの注意点があります。以下で主な2つを解説します。

○浮動小数点の精度

浮動小数点数を使った計算では、精度が問題となることがあります。

これはコンピュータが浮動小数点数を2進数で表現するための限界によるもので、多くのプログラミング言語で共通の問題です。

下記のコードを見てみましょう。

<?php
$a = 0.1;
$b = 0.7;
$c = $a + $b;

echo $c; // 0.7999999999999999 と出力される
?>

このコードでは、0.1と0.7を加えた値を出力しようとしています。

しかし、実際には”0.7999999999999999″という、本来の期待値である0.8とは微妙に異なる結果が出力されます。

これは浮動小数点の精度が原因で起こる現象です。

○数値の範囲

PHPでは、整数と浮動小数点数にはそれぞれ範囲が定められています。

これを超えるとエラーが発生するか、予期しない結果を生む可能性があります。

●PHPで数値を扱う際の対処法

上記のような問題に対処するための一つの方法は、BCMath拡張モジュールを使用することです。

○BCMath拡張モジュール

BCMath拡張モジュールは、任意の精度で数値を扱うことができる関数を提供しています。

これを使うことで、浮動小数点の精度の問題を回避できます。

下記のコードは、BCMath拡張モジュールを使って、0.1と0.7を加えた結果を出力する例です。

<?php
$a = '0.1';
$b = '0.7';

$c = bcadd($a, $b, 1); // 0.1 + 0.7 を計算、第3引数は結果の小数点以下の桁数

echo $c; // 0.8 と出力される
?>

このコードでは、’bcadd’関数を使って0.1と0.7を加算し、その結果を出力しています。

この例では、浮動小数点の精度問題を回避して正確な計算結果を得ることができました。

まとめ

PHPで数値を扱う際には、浮動小数点の精度や数値の範囲など、いくつかの注意点があります。

それらの問題を解決する一つの方法として、BCMath拡張モジュールを利用することがあります。

これらの注意点を理解し、適切な対処法を採用することで、予期しない結果を避け、より正確なプログラムを作成することができます。

以上がPHPで数値を扱う際の注意点と対処法についての説明です。

これを参考にして、より正確なコードを書くための知識を深めてください。