首頁 > 後端開發 > php教程 > php傳回字串中第一個字元的ASCII值函數ord()

php傳回字串中第一個字元的ASCII值函數ord()

黄舟
發布: 2023-03-16 22:34:01
原創
3492 人瀏覽過

實例

傳回 "h" 的 ASCII值:

<?php
echo ord("h")."<br>";
echo ord("hello")."<br>";
?>
登入後複製

定義和用法

ord() 函數傳回字串中第一個字元的 ASCII 值。

語法

ord(string)
登入後複製

參數         說明

string      必要。要從中獲得 ASCII 值的字串。    

技術細部

傳回值:       以整數形式傳回 ASCII 值。

PHP 版本:   4+    

ord()函數的應用 
ord()函數用來傳回一個字元的ASCII值,最基本的用法如取得a 的ASCII值ord ('a')返回97,但在實際開發中,應用最多的還是用於字符截取函數中獲取中文字符高低位編碼的十進制數,如常見的中文字符截取函數具體可看看PHPWind或Discuz!論壇原始碼中substrs()函數或cutstr()函數,其原理就是透過ord()函數取得字元的ASCII碼值,如果傳回值大於127則表示為中文字元的一半,再取得後一半組合成一個完整字符,同時結合字元編碼如GBK或UTF-8等。
以GBK編碼為例利用ord()函數判斷中文字元回傳各中文字元的ASCII值,程式碼如下 

$string = "不要迷恋哥"; 
$length = strlen($string); 
var_dump($string);//原始中文 
var_dump($length);//长度 
$result = array(); 
for($i=0;$i<$length;$i++){ 
if(ord($string[$i])>127){ 
$result[] = $string[$i].&#39; &#39;.$string[++$i]; 
} 
} 
var_dump($result);
登入後複製

程式碼說明 
1,定義一個變數$string,其值為字符字串 
2,取得變數的長度(位元組數) 
3,列印變數和變數的長度 
4,透過for迴圈取得變數的各個位元組值,把一個漢字的兩個位元組中間用空格隔開顯示。
結果如下圖

php傳回字串中第一個字元的ASCII值函數ord()

圖解:「不要迷戀哥哥」為5個漢字,共10個位元組(一個漢字2個位元組),分別列印各個位元組無法正常顯示如上圖
初始值不變修改for迴圈部分程式碼顯示各個位元組ASCII值

$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);
登入後複製

如上程式碼使用ord()函數列印各字元的ASCII值,結果如下 

php傳回字串中第一個字元的ASCII值函數ord()

透過ord()函數轉換後就能正常查看各個字元的ASCII值。 

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

相關標籤:
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
在PHP語言中,C#ASCII碼等價表示為
來自於 1970-01-01 08:00:00
0
0
0
vim中能否將十六進位內容顯示為ASCII字元?
來自於 1970-01-01 08:00:00
0
0
0
python 中文亂碼問題
來自於 1970-01-01 08:00:00
0
0
0
python - Scrapy中xpath用到中文報錯
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板