ord

(PHP 4, PHP 5, PHP 7, PHP 8)

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 の文字列をバイト単位で調べる

<?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;
}
?>

上の例の出力は以下となります。


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

参考

関連キーワード:  バイト, 先頭, 変換, , 関数, string, character, 文字, ASCII, chr