数値 (整数・浮動小数点数)

整数

PHPには、符号なし整数はありません。

整数で表現可能な範囲はプラットフォームに依存し、32bitでは-2³¹~2³¹までです。最大値はPHP_INT_MAXで調べられ、整数のバイト数はPHP_INT_SIZEにあります。

定義済み定数

整数の割り算

PHPには整数の割り算はなく、自動的にfloat型にキャストされて演算されます。

整数リテラル

整数リテラルには、

  • 2進数 … 0b (PHP 5.4.0以降)
  • 8進数 … 0
  • 10進数 …
  • 16進数 … 0x

があります。

n進数の相互の変換は、n進数への変換で行えます。

浮動小数点数

 

数学関数 (Math)

端数の処理

関数 説明
ceil 数値を切り上げる
floor 数値を切り捨てる
round 数値を丸める (四捨五入)

n進数への変換

入力 出力 関数
10 2
string decbin ( int $number )
8
string decoct ( int $number )
16
string dechex ( int $number )
2 10
number bindec ( string $binary_string )
8
number octdec ( string $octal_string )
16
number hexdec ( string $hex_string )
echo decbin( 15 ); // 1111
echo decoct( 15 ); // 17
echo dechex( 15 ); // f

任意の基数への変換は、base_convert()で行えます。

string base_convert (
    string $number , // 変換する数値
    int $frombase ,  // 変換の基数
    int $tobase      // 変換の基数
    )
PHP: base_convert - Manual

乱数

int mt_rand ( void )

引数で範囲を指定しない形式では、結果は0からmt_getrandmax()の範囲となります。

int mt_rand ( int $min , int $max )
PHP: mt_rand - Manual

$min以上$max以下の整数が返されます。

echo mt_rand( 1, 3 ); // 3
echo mt_rand( 1, 3 ); // 1
echo mt_rand( 1, 3 ); // 2
echo mt_rand( 1, 3 ); // 1
...

疑似乱数のシードを設定するmt_srand()という関数がありますが、PHP 4.2.0以降ではこの処理が自動で行われるようになっているため、この関数を明示的に呼ぶ必要はありません。