| ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot |
整数integer は、? = {..., -2, -1, 0, 1, 2, ...} という集合です。 以下も参照ください。 構文整数 (integer) は、10 進数(基数 10)、16 進数 (基数 16)、8 進数 (基数 8) あるいは 2 進数 (基数 2) 表記で指定可能です。オプションで、符号(-または+)を前に付けることが可能です。 2 進数の整数リテラルは、PHP 5.4.0 から利用可能となりました。 8 進数表記を使用する場合、数の前に 0 (ゼロ) を付ける必要があります。また、16 進数表記を使用するには、数の前に 0x を付ける必要があります。 2 進数表記を使用する場合、数の前に 0b を付ける必要があります。 例1 整数リテラル
<?php 使用可能な整数リテラルの形式は以下のように定義されています。 decimal : [1-9][0-9]* | 0 hexadecimal : 0[xX][0-9a-fA-F]+ octal : 0[0-7]+ binary : 0b[01]+ integer : [+-]?decimal | [+-]?hexadecimal | [+-]?octal | [+-]?binary
整数のサイズはプラットフォームに依存しますが、
約 20 億 (32 ビット符号付) が一般的な値です。
64 ビットプラットフォームでの通常の最大値は、およそ 9*10^18 (900京) になります。
しかし PHP 7 より前のバージョンにおける Windows は例外で、Windows で PHP 7 より前のバージョンを使う場合はは常に 32 ビットとなります。
PHP は符号無し整数をサポートしていません。
整数のサイズは定数 警告
PHP 7 より前のバージョンでは、 8 進数の整数値として不正な数字(例: 8 または 9)が渡された場合、 数値の残りの部分は無視されます。 PHP 7 以降では、パースエラーが発生します。 整数のオーバーフローinteger型の範囲外の数を指定した場合、かわりに floatとして解釈されます。また、結果が integer型の範囲外の数となるような計算を行うと floatが代わりに返されます。 例2 32 ビットシステムにおける整数のオーバーフロー
<?php 例3 64 ビットシステムにおける整数のオーバーフロー
<?php PHP には整数の割り算はありません。1/2 は float 型の 0.5 になります。 0 に近い方向の整数値に値を丸めるためにキャストを使用することができ、 また、round() 関数を使用することもできます。
<?php 整数への変換integer に値を明示的に変換するには、キャスト (int) または (integer) のどちらかを使用してください。しかし、多くの場合、演算子、関数、制御構造が integer 引数を必要とする場合、値は自動的に変換されるため、 キャストを使用する必要はありません。 関数 intval() を用いて値を整数に変換することも可能です。 resource を integer に変換すると、その結果は一意なリソース番号となります。 これは、その resource に対して PHP が実行時に割り当てた番号です。 型の相互変換 を参照ください。 booleans から
浮動小数点数からfloat から整数に変換する場合、その数はゼロのほうに丸められます。 float が整数の範囲 (通常は、32 ビットプラットフォームでは +/- 2.15e+9 = 2^31、Windows 以外の 64 ビットプラットフォームでは +/- 9.22e+18 = 2^63 ) を越える場合、結果は undefined となります。これは、 その float が正しい整数の結果を得るために十分な精度を得られなかったからです。 この場合、警告も通知も発生しません!
警告
未知の端数を integer にキャストしないでください。 この場合、予期しない結果となることがあります。
<?php より詳細な情報については、 float の精度に関する注意を参照ください。 文字列から文字列変換 を参照ください。 他の型から警告
整数への変換の動作は、他の型については定義されません。 現在の動作は、その値がまず 論理値に変換された 場合と同じです。しかし、この動作は予告なく変更されることがありえるので、 これを前提にしてはいけません。 |
各種マニュアル:
PHPマニュアル |
PEARマニュアル |
Smarty(英語)マニュアル |
PHP-GTKマニュアル |
「整数」をGoogle検索
|