Integer 整数型
整数は、集合 = {..., -2, -1, 0, 1, 2, ...} 内の数値です。
参照:
任意長整数/GMP
浮動小数点型
任意精度数学ライブラリ/BCMath
構文
整数値10 進数、16 進数、8 進数、またはオプションの記号 (- または +) が前に付くバイナリ表現。
整数のバイナリ表現は PHP 5.4.0 以降で利用可能です。
8進数表現を使用するには、数値の前に0(ゼロ)を追加する必要があります。 16 進数の表現を使用するには、数値の前に 0x を付ける必要があります。バイナリ表現を使用するには、数値の前に 0b を追加する必要があります。
例 #1 整数リテラル式
<?php $a = 1234; // 十进制数 $a = -123; // 负数 $a = 0123; // 八进制数 (等于十进制 83) $a = 0x1A; // 十六进制数 (等于十进制 26) ?>
整数の正式な説明は次のとおりです。 10進数: 0[xX][0-9a-fA-F]+
8進数: 0[0-7]+
2進数: 0b[01]+
整数: [+-]?10進数
| ?16 進数
16 進数。 64 ビット プラットフォームでの最大値は通常、9E18 程度です。 PHP は符号なし整数をサポートしていません。整数値の語長は定数 PHP_INT_SIZE で表すことができます。PHP 4.4.0 および PHP 5.0.5 以降では、最大値は定数 PHP_INT_MAX で表すことができます。
不正な数値 (つまり、8 または 9) が 8 進数に渡された場合、残りの桁は無視されます。
例 #2 8 進数に関する奇妙なこと
<?php var_dump(01090); // 八进制 010 = 十进制 8 ?>
整数オーバーフロー
指定された数値が integer の範囲を超える場合、それは float として解釈されます。同様に、演算結果が整数の範囲を超える場合は浮動小数点数が返されます。
例 #3 32 ビット システムでの整数オーバーフロー
<?php $large_number = 2147483647; var_dump($large_number); // int(2147483647) $large_number = 2147483648; var_dump($large_number); // float(2147483648) $million = 1000000; $large_number = 50000 * $million; var_dump($large_number); // float(50000000000) ?> Example #4 64 位系统下的整数溢出 <?php $large_number = 9223372036854775807; var_dump($large_number); // int(9223372036854775807) $large_number = 9223372036854775808; var_dump($large_number); // float(9.2233720368548E+18) $million = 1000000; $large_number = 50000000000000 * $million; var_dump($large_number); // float(5.0E+19) ?>
PHP には整数の除算演算子がありません。 1/2 は float 0.5 を生成します。値は、小数部分を破棄して整数にキャストすることも、round() 関数を使用して丸めを改善することもできます。
<?php var_dump(25/7); // float(3.5714285714286) var_dump((int) (25/7)); // int(3) var_dump(round(25/7)); // float(4) ?>
整数に変換する
値を明示的に整数に変換するには、 (int) または (integer) を使用してキャストします。ただし、演算子、関数、またはフロー制御で整数パラメーターが必要な場合、値は自動的に変換されるため、ほとんどの場合、キャストは必要ありません。関数 intval() を使用して値を整数に変換することもできます。
「型変換の識別」を参照してください。
ブール値
FALSE は 0 (ゼロ) を生成し、TRUE は 1 (1) を生成します。
浮動小数点からの変換
浮動小数点数から整数に変換する場合、切り捨てられます。
浮動小数点数が整数の範囲を超える場合 (通常、32 ビット プラットフォームでは +/- 2.15e+9 = 2^31、64 ビット プラットフォームでは +/- 9.22e+18 = 2^63) , 正確な整数の結果を得るには精度が不十分であるため、結果は未定義です。この場合、警告はなく、通知さえありません。
未知の分数を整数にキャストしないでください。予測できない結果が生じる可能性があります。
<?php echo (int) ( (0.1+0.7) * 10 ); // 显示 7! ?>
浮動小数点精度に関する警告を参照してください。
文字列から変換します
文字列を数値に変換するを参照してください。
他の型からの変換
注意

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ドリームウィーバー CS6
ビジュアル Web 開発ツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
