Returns the ASCII value of the first character of string. This function complements chr(). Test ord online.

int ord ( string $string )

PHP Documentation by the PHP Documentation Group


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

ordConvert the first byte of a string to a value between 0 and 255


ord ( string $character ) : int

Interprets the binary value of the first byte of character as an unsigned integer between 0 and 255.

If the string is in a single-byte encoding, such as ASCII, ISO-8859, or Windows 1252, this is equivalent to returning the position of a character in the character set's mapping table. However, note that this function is not aware of any string encoding, and in particular will never identify a Unicode code point in a multi-byte encoding such as UTF-8 or UTF-16.

This function complements chr().



A character.

Return Values

An integer between 0 and 255.


Example #1 ord() example

if (
ord($str) == 10) {
"The first character of \$str is a line feed.\n";

Example #2 Examining the individual bytes of a UTF-8 string

$str "🐘";
for ( 
$pos=0$pos strlen($str); $pos ++ ) {
$byte substr($str$pos);
'Byte ' $pos ' of $str has value ' ord($byte) . PHP_EOL;

The above example will output:

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

See Also

PHP Documentation

Copyright © 1997 - 2016 by the PHP Documentation Group. This material may be distributed only subject to the terms and conditions set forth in the Creative Commons Attribution 3.0 License or later. A copy of the Creative Commons Attribution 3.0 license is distributed with this manual. The latest version is presently available at » http://creativecommons.org/licenses/by/3.0/.