实例
从不同 ASCII 值返回字符:
<?php echo chr(52) . "<br>"; // Decimal value echo chr(052) . "<br>"; // Octal value echo chr(0x52) . "<br>"; // Hex value ?>
定义和用法
chr() 函数从指定 ASCII 值返回字符。
ASCII 值可被指定为十进制值、八进制值或十六进制值。八进制值被定义为带前置 0,十六进制值被定义为带前置 0x。
语法
chr(ascii)
参数 | 描述 |
ascii | 必需。ASCII 值。 |
技术细节
返回值: | 返回指定的字符。 |
PHP 版本: | 4+ |
更多实例
使用八进制值 046 来添加 ASCII 字符:&。
<?php $str = chr(046); echo("You $str me forever!"); ?>
实例 2
使用十进制值 43 和 61 来添加 ASCII 字符:+ 和 =。
<?php $str = chr(43); $str2 = chr(61); echo("2 $str 2 $str2 4"); ?>
chr()函数的作用与ord()函数相反,用于返回指定的字符,如chr(97)返回a。
结合上面实例,只要获取到中文字符的ASCII值,就可以通过chr()函数组装出中文字符,代码如下
$string = "不要迷恋哥"; $length = strlen($string); var_dump($string);//原始中文 var_dump($length);//长度 $result = array(); for($i=0;$i<$length;$i++){ if(ord($string[$i])>127){ $result[] = ord($string[$i]).' '.ord($string[++$i]); } } var_dump($result); foreach($result as $v){ $decs = explode(" ",$v); echo chr($decs[0]).chr($decs[1]); }
如上代码并没有直接输出中文字符,但打印出正常的汉字,其原理是首先获取各个字节的ASCII值,通过chr()函数转化为字节,再把两个字节组合起来就形成了一个完整的中文汉字。
以上是php从指定ASCII值返回字符函数chr()的详细内容。更多信息请关注PHP中文网其他相关文章!