整数(int)
8進数表記を使用する場合、数の前に 0 (ゼロ) を付ける必要があります。 PHP 8.1.0 以降では、数の前に 0o や 0O を付けても 8進数を表記できます。
16進数表記を使用するには、数の前に 0x を付ける必要があります。
2 進数表記を使用する場合、数の前に 0b を付ける必要があります。
$a = 1234; // 10進整数
$a = 0123; // 8進数 (10進数の83と等価)
$a = 0o123; // 8進数 (PHP 8.1.0 以降)
$a = 0x1A; // 16進数 (10進数の26と等価)
$a = 0b11111111; // 2進数 (10進数の255と等価)
$a = 1_234_567; // 10進数 (PHP 7.4.0 以降) 数値セパレーター
//数値セパレーターを挿入できるのは数字の間だけ。
//下記のリテラルは不可
_123_456_ //先頭/末尾
1._234 //小数点の隣
0_x99 //数値プレフィックスの途中
指数表現(浮動小数点数 float)
1.4142e10 → 1.4142 x 10の10乗 → 14142000000.0
1.173205e-7 → 1.173205 x 10の-7乗 → 0.0000001173205
※一般的に0から始まるように表記を統一することが多い。
0.1732e4 先頭のゼロは省略可能 = .1732e4
シフト演算子
$x = 10;
$x <<= 1; //10進数で2倍と同じ
echo $x; //20
$x =10;
$x <<= 2; //2x2倍 つまり4倍
echo $x; //40
$x = 10;
$x >>= 1; //2分の1
echo $x; //5
$x = 10;
$x >>= 2; //2x2=4分の1
echo $x; //2
phpが処理できる桁数の上限は、PHP_INT_MAX で確認できる。
var_dump(PHP_INT_MAX);