PHPプログラミングでは、 CEIL()関数はしばしばまとめに使用されます。その機能は非常に簡単です。指定された値以下の最小整数を返します。多くの初心者は、パラメーター自体が整数であるかどうか疑問に思うでしょう、 ceil()にはまだ意味がありますか?この質問は簡単に思えますが、実際には多くの実用的なシナリオを隠しています。この記事では、CEIL()の実際の役割を理解するようになります。
最も基本的な使用法を見てみましょう。
echo ceil(4.2); // 出力 5
echo ceil(9.999); // 出力 10
そうです、 CEIL()は浮動小数点数を「切り上げ」、0.0001の小数部でさえ結果を次の整数に運びます。
echo ceil(7); // 出力 7
上記のコードから、整数に対するceil()の効果が「無効」であるように見えることがわかります。入力量、出力の量。しかし、それはそれが役に立たないという意味ではありません。
実際の開発では、渡された値が浮動小数点数であることを常に保証することはできません。たとえば、ページング関数のページの総数が計算されます。
$totalItems = 95;
$itemsPerPage = 10;
$totalPages = ceil($totalItems / $itemsPerPage); // 消す 10
$ totalItemsと$ itemsperpageが整数であっても、 /操作の結果は浮動小数点数であり、 ceil()は結果が上方に丸められることを保証します。
あなたはこれを呼ぶかもしれません:
function getPageCount($items, $perPage) {
return ceil($items / $perPage);
}
この関数では、入力自体が整数であっても、 ceil()は分割後のフローティングポイントの結果を自動的に処理できます。
結果が場合によっては整数であることがわかっていても、 ceil()を使用すると、「上向きに丸くなる」という意図を表現できます。これは、コードの読みやすさと自己解釈に役立ちます。
たとえば、最初に次のようなコードを書きました。
$pages = ceil(100 / 10); // 10
その後、製品は要件を変更しました。ページあたりの製品の数は10に固定されなくなりましたが、ユーザー構成は読み取られます。
$userSetting = getUserSetting('items_per_page'); // リターンはからです m66.net/user/settings インターフェイスによって取得された値
$pages = ceil(100 / $userSetting);
CEIL()なしで直接(100/10)を書いた場合、コードをリファクタリングする必要があります。 CEIL()を使用する場合、変更する必要はなく、コードはより堅牢です。
たとえば、フォームを介して送信された値が「2」の場合、文字列「2」を取得します。 PHPは、処理中に数値に暗黙的に変換しますが、データ自体には「2.000」などの小数点の後に意味のない部分が含まれる場合があります。
$input = "2.000";
echo ceil($input); // 出力 2
ユーザーの観点からの整数ですが、 CEIL()を使用してコードレベルでの境界の問題を防ぐ必要がある場合があります。
これらの機能は似ていますが、セマンティクスは異なります。 CEIL()は、「パーツを見逃さないでください」を明確に表現しています。これは、特にページングやバッチ処理に適しています。
場合によっては、整数でceil()を使用することは「冗長」と思われますが、実際の開発では、次の機能があります。
不明な入力タイプを処理して、正しい結果を確保します。
コードセマンティクスを明確に保ちます。
コードの堅牢性と保守性を向上させます。
フローティングポイントエラーまたはタイプ変換によって引き起こされる問題は避けてください。
次回はceil()を削除したいときは、それを行う前によく考えてください - それはあなたのプログラムを隠されたバグから保護しているかもしれません。