1.int ord ( string $string ) --- 返回字符串 string 第一个字符的 ASCII 码值。
echo ord('Abjds'); //返回 65 A的ASCII码值
2.string chr ( int $ascii ) --- 返回相对应于 ASCII所指定的单个字符
echo chr(65) //返回 A
用途: 通过这个来判断截取的字符串第一个字符是不是汉字,在ASCII中,0xa0表示汉字的开始
例如: GBK编码格式截取汉字字符串无乱码
function GBsubstr($string, $start, $length) {
if(strlen($string)>$length){
$str=null;
$len=$start+$length;
for($i=$start;$i
if(ord(substr($string,$i,1))>0xa0){
//ord()函数返回字符的 ASCII (美国国家标准交换码) 序数值。本函数和 chr() 函数相反。
$str.=substr($string,$i,2);
$i++;
}else{
$str.=substr($string,$i,1);
}
}
return $str.'...';
}else{
return $string;
}
}
echo GBsubstr("我1234是个好学生",0,8); //我1234是....
?>