横浜のITサポート・WEB制作会社

Webサイト制作

WordPressの使い方を知りたい!

Windows

パソコンのトラブル解決方法を知りたい!

Office365

Office365でできることを知りたい!

アプリ

便利なアプリを知りたい!

h

すべての記事

人気記事TOP15

タグ一覧

会社情報

採用情報

お問い合わせ

ITサポートスタッフ募集中です。詳しくはこちらから!

【PHP】is_infinite()はfloat型を基準に値が無限大か判定する

2022/10/14 | PHP

ITサポート・ホームページ制作はお任せください

  • パソコンの動作が遅い・重いと感じる
  • パソコンやスマートフォン、複合機などIT機器を新しく入れ替えたい
  • システム化・クラウド化など業務のIT化・DX化を考えている
  • ホームページを新しく作りたい
  • 古くなったホームページを修正をしてほしい

上記の様なお悩みがありましたらぜひ弊社までお気軽にお問い合わせください!

こんにちは。

PHPの標準関数のis_infinite()はご存知でしょうか。

is_infinite()に渡した値が無限大であるかどうかを判定してくれる関数なのですが、その説明を見ても「無限大とは?」となり意味がわかりませんでした。

そこで今回は、is_infinite()の機能や「無限大」の基準などをご紹介したいと思います。

is_infinite()の仕様

is_infinite()は以下の形で定義されています。

bool is_infinite(float $num)

$numが無限大である場合にtrueを返し、そうでない場合はfalseを返します。

if (is_infinite($num)) {
    // 無限大のときの処理
} else {
    // 無限大でないときの処理
}

is_infinite()の無限大の基準

is_infinite()では、float型で扱える値の範囲が無限大の基準となり、$numがその範囲を超えた値のときに無限大と判定します。

PHPのfloat型で扱える値の範囲はそのときの動作環境によって異なり、PHP_FLOAT_MAXという定数でそれを確認することができます。

echo PHP_FLOAT_MAX;
// -> 1.7976931348623E+308

サイズ的には、今回の環境だと128byteあたりが閾値のようです。

var_dump(is_infinite(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1));
// -> bool(true)

PHP_FLOAT_MAXをis_infinite()に渡してみると結果はfalseとなります。

var_dump(is_infinite(PHP_FLOAT_MAX));

ITサポート・ホームページ制作はお任せください

  • パソコンの動作が遅い・重いと感じる
  • パソコンやスマートフォン、複合機などIT機器を新しく入れ替えたい
  • システム化・クラウド化など業務のIT化・DX化を考えている
  • ホームページを新しく作りたい
  • 古くなったホームページを修正をしてほしい

上記の様なお悩みがありましたらぜひ弊社までお気軽にお問い合わせください!