PHPのceil()関数とは?切り上げ処理の基本と実践的な使い方
ceil()関数の定義と用途
ceil()はPHPインタプリタに組み込まれたビルトイン関数です。引数として浮動小数点数(float)を受け取り、その値より大きい(または等しい)最も近い整数へ切り上げを行います。
なお、この関数が返す値は必ずfloat型になります。これは、float型の表現範囲がint型よりも大きいためです。
構文
ceil ( float $num ) : float
パラメータ
| 番号 | パラメータと説明 |
|---|---|
| 1 | num 切り上げ対象となる数値を指定します。 |
戻り値
PHPのceil()関数は、引数として渡された値以上となる最小の整数値を返します。つまり、端数がある場合は必ず上方向に丸められます。
対応するPHPバージョン
この関数はPHP 4.x、PHP 5.x、PHP 7.xで利用可能であり、現在主流となっているPHP 8.xでも引き続き使用できます。ただし、PHP 8では数値形式ではない文字列を渡した場合の挙動が厳格化され、TypeErrorがスローされるようになった点に注意が必要です。
使用例1:正の小数の切り上げ
次の例では、5.78をより大きい次の整数である6に切り上げています。
<?php
$arg = 5.78;
$val = ceil($arg);
echo "ceil(" . $arg . ") = " . $val;
?>
出力結果
上記のコードを実行すると、以下の結果が出力されます。
ceil(5.78) = 6
使用例2:15.05の切り上げ
次の例では、15.05の次に大きい整数である16が返されることを確認できます。
<?php
$arg = 15.05;
$val = ceil($arg);
echo "ceil(" . $arg . ") = " . $val;
?>
出力結果
上記のコードを実行すると、以下の結果が出力されます。
ceil(15.05) = 16
使用例3:文字列を渡した場合
PHP 7以前では、数値として評価できない文字列を引数に渡すと0が返されます。
<?php
$arg = "Hello";
$val = ceil($arg);
echo "ceil(" . $arg . ") = " . $val;
?>
出力結果
上記のコードを実行すると、以下の結果が出力されます。
ceil(Hello) = 0
※ PHP 8以降では、同様のコードはTypeErrorとなります。文字列を渡す前に、is_numeric()などによる検証を推奨します。
使用例4:負の数の切り上げ
負の数の場合は、「0に近い方向」へ丸められる点に注意してください。-3.95以上で最も近い整数は-4ではなく-3です。
<?php
$arg = -3.95;
$val = ceil($arg);
echo "ceil(" . $arg . ") = " . $val;
?>
出力結果
上記のコードを実行すると、以下の結果が出力されます。
ceil(-3.95) = -3
まとめ
ceil()関数は、請求金額の計算やページネーションのページ数算出など、端数を切り上げたい場面で非常に便利な関数です。負の数では「0方向」への丸めになること、PHP 8では非数値文字列の扱いが厳格化されていることを押さえておきましょう。
-
PHPのceil()関数とは?切り上げ処理の基本と実践的な使い方
ceil()関数の定義と用途ceil()はPHPインタプリタに組み込まれたビルトイン関数です。引数として浮動小数点数(float)を受け取り、その値より大きい(または等しい)最も近い整数へ切り上げを行います。なお、この関数が返す値は必ずfloat型になります。これは、float型の表現範囲がint型よりも大きいためです。構文ceil ( float $num ) : floatパラメータ番号パラメータと説明1num切り上げ対象となる数値を指定します。戻り値PHPのceil()関数は、引数として渡された値以上となる最小の整数値を返します。つまり、端数がある場合は必ず上方向に丸められます。対応する
-
PHPのceil()関数とは?使い方と具体例をわかりやすく解説
PHPのceil()関数は、数値を最も近い整数に切り上げるための関数です。小数点以下の値を持つ数値は、より大きい方の直近の整数へと丸められます。 構文 ceil(num) パラメータ num − 切り上げの対象となる数値 戻り値 ceil()関数は、引数として渡された数値を切り上げた(大きい方の)直近の整数値を返します。 使用例 まずは、小数を渡した場合の基本的な使用例を見てみましょう。 <?php echo(ceil(0.90) . <br>); echo(ceil(0.15) . <br>); ?>