PHPでは、 ceil()関数を使用して数値を切り上げます。指定された数値以下の最小整数を返します。例えば:
echo ceil(4.3); // 出力 5
しかし、 nullやfalseなどの非数字タイプで渡すとどうなりますか?この記事では、この境界の状況を詳細に説明します。
ceil()には、数値タイプ(intまたはfloat)である必要があるパラメーターが必要です。 PHPは、関数を呼び出すとき、つまり、渡された値を可能な限り数値に変換するときに、タイプ(タイプ強制)を自動的に変換します。
ceil()関数がパラメーターとしてnullを受信すると、phpはnullを数0に変換し、その後上方に丸めます。
サンプルコード:
echo ceil(null); // 出力 0
説明する:
ヌルは数0に変換されます
天井(0)等しい0
同様に、 Falseが渡されると、PHPも数値に変換します。 falseは数に変換され、結果は0で、その後ceil()が呼び出されます。
サンプルコード:
echo ceil(false); // 出力 0
説明する:
falseは数0に変換されます
天井(0)等しい0
より完全な状態については、 Trueを渡すときの結果を見てみましょう。
echo ceil(true); // 出力 1
ここでは、 Trueは番号1に変換され、天井(1)はまだ1です。
サプリメントとして、空の文字列を渡すときにも似ています。
echo ceil(""); // 出力 0
空の文字列の数値への変換も0です。
価値を渡します | 数字に変換します | ceil()出力結果 |
---|---|---|
ヌル | 0 | 0 |
間違い | 0 | 0 |
真実 | 1 | 1 |
""(空の文字列) | 0 | 0 |
結論: nullまたはfalseが渡されると、 ceil()は実際に数0を処理し、最終的な返品値は0です。この動作は、PHPのタイプ鋳造メカニズムに由来しています。
<?php
$values = [null, false, true, "", 3.7];
foreach ($values as $val) {
echo 'ceil(' . var_export($val, true) . ') = ' . ceil($val) . PHP_EOL;
}
/*
出力结果:
ceil(NULL) = 0
ceil(false) = 0
ceil(true) = 1
ceil('') = 0
ceil(3.7) = 4
*/
この記事が、 nullとfalseを渡すときにPHPでのCEIL()機能のパフォーマンスをより明確に理解できるようにすることを願っています。
PHPのタイプ変換メカニズムに興味がある場合は、PHPのタイプの必須ルールを詳細に学習することをお勧めします。