(PHP 4, PHP 5, PHP 7, PHP 8)
ord — 文字列の先頭バイトを、0 から 255 までの値に変換する
$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 の文字列をバイト単位で調べる
<?php
declare(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;
}
?>
上の例の出力は以下となります。