ord
(PHP 4, PHP 5, PHP 7)
ord — 文字列の先頭バイトを、0 から 255 までの値に変換する
説明
ord
( string $character
) : int
character
の先頭バイトのバイナリ値を、
0 から 255 までの符号なしの整数値として解釈します。
string
が ASCII,
ISO-8859, Windows 1252 のような シングルバイトエンコーディング だった場合、
これは文字セットのマッピングテーブルにある文字の位置を返すことと同義です。
しかし、この関数は string
のエンコーディングについて知りませんし、
特に UTF-8 や UTF-16 のようなマルチバイトエンコーディングについては、
この関数からは Unicode のコードポイントは絶対にわからないことに注意してください。
この関数は chr() と逆の動作をします。
パラメータ
character
- 文字列。
返り値
0 から 255 までの整数値を返します。
例
例1 ord() の例
<?php$str = "\n";if (ord($str) == 10) { echo "\$str の先頭は改行文字です。\n";}?>
例2 UTF-8 の文字列をバイト単位で調べる
<?phpdeclare(encoding='UTF-8');$str = "🐘";for ( $pos=0; $pos < strlen($str); $pos ++ ) { $byte = substr($str, $pos); echo 'Byte ' . $pos . ' of $str has value ' . ord($byte) . PHP_EOL;}?>
上の例の出力は以下となります。
Byte 0 of $str has value 240 Byte 1 of $str has value 159 Byte 2 of $str has value 144 Byte 3 of $str has value 152