麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > PHP > 正文

PHP strlen和mb_strlen的區別

2024-09-04 11:48:34
字體:
來源:轉載
供稿:網友

我初步理解是strlen只能計算英文字符,而mb_strlen是可以計算中文與英文字符的長度,下面我來詳細的介紹 strlen和mb_strlen的區別.

定義和用法:strlen() 函數返回字符串的長度

語法:strlen(string)

參數 描述 

string 必需,規定要檢查的字符串。

而mb_strlen()函數的參考也是一樣的.

PHP實例代碼如下:

  1. <?php  
  2. $str=‘中文a字1符‘;  
  3. echo strlen($str);  
  4. echo ‘<br />‘;  
  5. echo mb_strlen($str,‘UTF8‘);  
  6. //輸出結果  
  7. //14  
  8. //6  
  9. ?> 

結果分析:在strlen計算時,對待一個UTF8的中文字符是3個長度,所以“中文a字1符”長度是3*4+2=14.

在mb_strlen計算時,選定內碼為UTF8,則會將一個中文字符當作長度1來計算,所以“中文a字1符”長度是6.

PHP內置的字符串長度函數strlen無法正確處理中文字符串,它得到的只是字符串所占的字節數,對于GB2312的中文編碼,strlen得到的值是漢字個數的2倍,而對于UTF-8編碼的中文,就是3倍的差異了,在 UTF-8編碼下,一個漢字占3個字節.

采用mb_strlen函數可以較好地解決這個問題,mb_strlen的用法和 strlen類似,只不過它有第二個可選參數用于指定字符編碼,例如得到UTF-8的字符串$str長度,可以用 mb_strlen($str,'UTF-8'),如果省略第二個參數,則會使用PHP的內部編碼.

注意事項:php默認是不支持mb_strlen()函數的,需要安裝擴展模塊,安裝方法如下:

yum install php-mbstring

找到mbstring.so的位置,可以使用rpm -ql 安裝的rpm名,修改/etc/php.ini配置文件,增加如下代碼:

extension=php_mbstring.so

并確保php_mbstring.so模塊在extension_dir = "/usr/lib64/php/modules"配置所指的路徑里.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产羞羞视频在线观看免费应用 | 欧美成a人片在线观看久 | 亚洲va久久久噜噜噜久牛牛影视 | 国产精品自在线拍 | 日韩美香港a一级毛片免费 欧美一级淫片007 | 在线观看av国产一区二区 | 久久国产在线观看 | 中文字幕精品在线播放 | 毛片视频网址 | 免费看一级片 | 久久久久久久久久久高潮一区二区 | av在线收看 | 男人午夜小视频 | 免费国产网站 | 黄污免费网站 | 欧美一级精品片在线看 | 国产亚洲精品综合一区91 | 久久综合入口 | 在线成人av观看 | 精品成人国产在线观看男人呻吟 | 免费一级毛片在线播放不收费 | 欧美在线 | 亚洲 | 国产成人精品免费视频大全最热 | 欧美日韩免费观看视频 | 亚洲人成免费 | 久久精品a一级国产免视看成人 | 免费看黄色三级毛片 | 日本不卡一二三区 | 日本网站在线看 | 国产精品视频2021 | 一级电影在线免费观看 | 免费的性生活视频 | 亚洲成人夜色 | 亚洲国产高清自拍 | 免费观看一区 | 欧美日本综合 | 伊人午夜视频 | 黄色羞羞视频在线观看 | 国产精品久久久久久久亚洲按摩 | 亚洲精品久久久久www | 日本一级黄色大片 |