ホームページ >php教程 >php手册 >PHP セクション 2 数値データ型_php の基本

PHP セクション 2 数値データ型_php の基本

WBOY
WBOYオリジナル
2016-05-16 09:00:281160ブラウズ

PHP は 8 つの基本データ型をサポートします。

4 つのスカラー型:

  • boolean (ブール型)
  • integer (整数型)
  • float (浮動小数点型、 double)
  • 文字列 (文字列)
  • UL >

    2 つの複合タイプ:

    • array (配列)
    • オブジェクト (オブジェクト)

    最後に、2 つの特別なタイプがあります:

    • リソース(リソース)
    • NULL (NULL)

    booleanデータ型:

    値は True または False のみです。他の型がブール型に変換される場合、次の値は FALSEとみなされます:

    • ブール値FALSE自体
    • 整数値 0 (ゼロ)
    • 浮動小数点値 0.0 (ゼロ)
    • 空の String および String "0"
    • 配列 要素が含まれていません
    • メンバー変数を含まないオブジェクト (PHP 4.0 にのみ適用可能)
    • 特殊型 NULL (未設定の変数を含む)
    • SimpleXML タグ (タグ) のない XML ドキュメントから生成されたオブジェクト

    他のすべての値は TRUEとみなされます (リソース を含む)。

    整数データ型:

    整数値は、オプションの記号 (- または ) を前に付けて、10 進数、16 進数、または 8 進数の表記で表すことができます。

    8 進数は数値の前に 0 (ゼロ) を付ける必要があることを意味し、16 進数は数値の前に 0x を付ける必要があることを意味します。

    整数のワード サイズはプラットフォームに依存しますが、通常の最大値は約 20 億 (32 ビット符号付き) です。 PHP は符号なし整数をサポートしていません。 整数 PHP 4.4.0 以降、値の語長は定数 PHP_INT_SIZE で表すことができます。および PHP 5.0 .5 以降、最大値は定数 PHP_INT_MAX で表すことができます。

    指定された数値が integer の範囲を超える場合、 として解釈されます。 float。同様に、演算結果が integer の範囲を超える場合、float も返されます。

    PHP には整数の除算演算子がありません。 1/2float 0.5 を生成します。小数部分はいつでも破棄できます。または、round() 関数を使用できます。

    値を 整数 に明示的に変換するには、次を使用します。 (int) または (integer) をキャストします。ただし、演​​算子、関数、またはフロー制御で integer パラメータが必要な場合、ほとんどの場合、キャストは必要ありません。値は自動的に変換されます。関数 intval() を使用して、値を整数型に変換することもできます。

    ブール値から変換すると、FALSE0 (ゼロ) を生成し、TRUE1 (1 つ)。

    浮動小数点から変換します。浮動小数点から整数に変換する場合、 をゼロに変換します。 丸め。浮動小数点数が整数の範囲外にある場合 (通常は /- 2.15e 9 = 2^31)、浮動小数点数には正確な整数を与えるのに十分な精度がないため、結果は未定義になります。結果。この場合、警告はなく、通知さえありません。

    float データ型

    浮動小数点数のワード サイズはプラットフォームに依存しますが、通常、最大値は 10 進数 14 桁 (64 ビット IEEE 形式) の精度で 1.8e308 です。

    0.10.7 などの一見単純な小数は、精度を少し損なうことなく内部バイナリ形式に変換できません。これにより、混乱を招く結果が生じる可能性があります。たとえば、 floor((0.1 0.7)*10) は通常、期待される 8 ではなく 7 を返します。結果の内部表現は実際には 7.9 と似ているためです。

    これは、有限の桁数では特定の小数を正確に表現することが不可能であるという事実に関連しています。たとえば、10 進数の 1/30.3 になります。

    したがって、浮動小数点数の結果が最後の桁まで正確であるとは絶対に信じないでください。また、2 つの浮動小数点数が等しいかどうかを比較することも決してしないでください。本当に高い精度が必要な場合は、任意精度の数学関数を使用する必要があります。または、gmp 関数

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。