Home > Article > Backend Development > PHP ord function and solution to Chinese garbled characters_PHP tutorial
PHP ord() function PHP String function definition and usage ord() function returns the ASCII value of the first character of a string. Syntax ord(string) Parameter Description string Required. The string from which to obtain the ASCII value.
php tutorial ord() function
php string function
Definition and Usage
The ord() function returns the ascii value of the first character of a string.
Grammar
ord(string) parameter description
string required. The string to get the ascii value from.
echo ord('I');
Only 230 can be returned here. I saved the file in u8 and output it. It only gets 230, and 230 is converted into hex and is e6. In fact, my encoding in u8 is e68891, so you will understand. In fact, it Only got the first byte
echo chr(0xe6).chr(0x88).chr(0x91);
The example here can output the Chinese character "I" under u8. As you can see, it took three times of chr to get this Chinese character
//a character
$str=(pack("a*", "China"));
echo $str,"=",strlen($str),"byte n";
getascill($str);
//h character
$str=(pack("h*", "fffe"));
echo $str,"=",strlen($str),"byte n";
getascill($str);
//c character
$str=(pack("c*", "55","56","57"));
echo $str,"=",strlen($str),"byte n";
getascill($str);//i character short integer 32 bits 4 bytes 64 bits 8 bytes
$str=(pack("i", "100"));
echo $str,"=",strlen($str),"byte n";
getascill($str);//s character short integer 2 bytes
$str=(pack("s", "100"));
echo $str,"=",strlen($str),"byte n";
getascill($str);//l character long integer 4 bytes
$str=(pack("l", "100"));
echo $str,"=",strlen($str),"byte n";
getascill($str);//f character single precision floating point 4 bytes
$str=(pack("f", "100"));
echo $str,"=",strlen($str),"byte n";
getascill($str);//d character double precision floating point 8 bytes
$str=(pack("d", "100"));
echo $str,"=",strlen($str),"byte n";
getascill($str);function getascill($str)
{
$arr=str_split($str);
foreach ($arr as $v)
{
echo $v,"=",ord($v),"n";
}
echo "=============rnrn";
}