php從指定ASCII值傳回字元函數chr()

黄舟
發布: 2023-03-16 21:42:02
原創
2048 人瀏覽過

實例

從不同 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]); 
}
登入後複製

php從指定ASCII值傳回字元函數chr()

#如上程式碼並沒有直接輸出中文字符,但列印出正常的漢字,其原理是先取得各個位元組的ASCII值,透過chr()函數轉換為位元組,再把兩個位元組組合起來就形成了一個完整的中文漢字。 

以上是php從指定ASCII值傳回字元函數chr()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板