首页 >后端开发 >php教程 >php从指定ASCII值返回字符函数chr()

php从指定ASCII值返回字符函数chr()

黄舟
黄舟原创
2017-11-02 09:50:592087浏览

实例

从不同 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]).&#39; &#39;.ord($string[++$i]); 
} 
} 
var_dump($result); 
foreach($result as $v){ 
$decs = explode(" ",$v); 
echo chr($decs[0]).chr($decs[1]); 
}

6T1B)SE`9D)A0V$L$[S4@3M.png

如上代码并没有直接输出中文字符,但打印出正常的汉字,其原理是首先获取各个字节的ASCII值,通过chr()函数转化为字节,再把两个字节组合起来就形成了一个完整的中文汉字。 

以上是php从指定ASCII值返回字符函数chr()的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn