logo

パレット - カラフルに🎨

Palette — ビジュアルページビルダー、デザインの専門知識は不要です。

ライブデモ パレットをダウンロード

Scroll

PHP レッスン — レッスン 4 — PHP の数値変数

08/12/2019, by Ivan

前のレッスンでは、文字列型の変数を学びました。今は数値型の変数についても見てみましょう。最も単純な数値型は整数型です。

PHP での整数型

整数型とは、[-2 147 483 648,...,-4,-3,-2,-1,0,1,2,3,4,...,2 147 483 647] という数列のすべての数です。つまり、-2147483648 から 2147483647 までです。この制限は、整数を符号化するのに 32 ビットが必要だからです。

PHP のすべての変数と同様に、整数型も単純な代入で定義されます。

<?php
$x = 5;
$y = -8;
?>

おなじみの 10 進法の数値に加えて、他の数値体系(8 進法、16 進法など)も使用できます。

<?php
$i = 456; // 10 進数
$i = -895; // 負の数
$i = 0121; // 8 進数(10 進数では 81 に相当)
$i = 0x1B; // 16 進数(10 進数では 27 に相当)
?> 

整数型に加えて、PHP には小数型もあります。

PHP での小数型(float)

PHP での小数型は、10 進小数として記述されます。

$pi = 3.14;

小数部は基数から小数点で区切られますが、この小数点を文字列連結演算子と混同しないでください。また、小数型を標準形式で記述することもできます。

$b = 3.2e5;
$c = 9E-11;

小数型、または 浮動小数点数(floating point)は、64 ビットのメモリを占めます(整数型の 2 倍であることに注意してください)。

通常、小数型は除算の結果として生じます:

$a = 1/3;
print $a;

結果は以下のようになります:

0.333333333333

また、結果が完全に明白ではないことがあります:

$a = 1/3;
$a = $a*3;
print $a;

結果は 0.999999999 ではなく、正確に 1 になります。

電卓で同じことをしたら(1 を 3 で割り、3 を掛ける)、電卓の精度に応じて 100 万分の 1 か 10 億分の 1 が失われます。しかし PHP は「だまされにくく」、変数の操作を記憶し、結果のどの小数も失いません。