PHP は 8 つの基本データ型をサポートします。
4 つのスカラー型:
2 つの複合タイプ:
最後に、2 つの特別なタイプがあります:
booleanデータ型:
値は True または False のみです。他の型がブール型に変換される場合、次の値は FALSE
とみなされます:
FALSE
自体
他のすべての値は 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/2 は float 0.5 を生成します。小数部分はいつでも破棄できます。または、round() 関数を使用できます。
値を 整数 に明示的に変換するには、次を使用します。 (int) または (integer) をキャストします。ただし、演算子、関数、またはフロー制御で integer パラメータが必要な場合、ほとんどの場合、キャストは必要ありません。値は自動的に変換されます。関数 intval() を使用して、値を整数型に変換することもできます。
FALSE
は 0 (ゼロ) を生成し、TRUE
は1 (1 つ)。 float データ型
浮動小数点数のワード サイズはプラットフォームに依存しますが、通常、最大値は 10 進数 14 桁 (64 ビット IEEE 形式) の精度で 1.8e308 です。
0.1 や 0.7 などの一見単純な小数は、精度を少し損なうことなく内部バイナリ形式に変換できません。これにより、混乱を招く結果が生じる可能性があります。たとえば、 floor((0.1 0.7)*10) は通常、期待される 8 ではなく 7 を返します。結果の内部表現は実際には 7.9 と似ているためです。
これは、有限の桁数では特定の小数を正確に表現することが不可能であるという事実に関連しています。たとえば、10 進数の 1/3 は 0.3 になります。
したがって、浮動小数点数の結果が最後の桁まで正確であるとは絶対に信じないでください。また、2 つの浮動小数点数が等しいかどうかを比較することも決してしないでください。本当に高い精度が必要な場合は、任意精度の数学関数を使用する必要があります。または、gmp 関数。