Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php从指定ASCII值返回字符函数chr()

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

黄舟
黄舟asal
2017-11-02 09:50:592057semak imbas

实例

从不同 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()函数转化为字节,再把两个字节组合起来就形成了一个完整的中文汉字。 

Atas ialah kandungan terperinci php从指定ASCII值返回字符函数chr(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn