strlen()和mb_strlen()的作用分別是什么-新浪面試題

strlen和mb_strlen都是用于獲取字符串長度的,其中strlen只針對(duì)單字節(jié)編碼字符,也就是說它計(jì)算的是字符串的總字節(jié)數(shù),如果是多字節(jié)碼編碼,如gbk和utf8,使用strlen得到的不是字符的個(gè)數(shù),而是該字符的總字節(jié)數(shù),可以使用mb_strlen獲取其字符個(gè)數(shù),使用mb_strlen要注意兩點(diǎn),一是要開啟mbstring擴(kuò)展,而是要指定字符集。

<?php
 //當(dāng)前頁面是utf8編碼   
$str = '中文89PHP';

echo strlen($str); //中文+數(shù)字+英文:6 + 2 + 3 = 11
echo mb_strlen($str, 'gbk'); //中文+數(shù)字+英文:3 + 2 + 3 = 8
echo mb_strlen($str, 'utf8'); //中文+數(shù)字+英文:2 + 2 + 3 = 7
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 字符是用戶可以讀寫的最小單位。計(jì)算機(jī)所能支持的字符組成的集合,就叫做字符集。字符集通常以二維表的形式存在。二維表的...
    劉惜有閱讀 8,374評(píng)論 2 14
  • 編碼問題一直困擾著開發(fā)人員,尤其在 Java 中更加明顯,因?yàn)?Java 是跨平臺(tái)語言,不同平臺(tái)之間編碼之間的切換...
    x360閱讀 2,580評(píng)論 1 20
  • 最近看了不少編碼方面的文章,所以分二篇博文說下“PHP、字符串、編碼、UTF-8”相關(guān)知識(shí),本篇博文是上半部分,分...
    虞大膽的嘰嘰喳喳閱讀 3,724評(píng)論 3 5
  • 我是個(gè)學(xué)中文的,對(duì)藝術(shù)一竅不通,交了幾個(gè)美術(shù)學(xué)院的朋友以后開始摸著石頭學(xué)藝術(shù),從圖書館借了幾本畫冊(cè)回來看,雖然看不...
    愛喝茶的兔子閱讀 401評(píng)論 0 0
  • 之所以說瘋狂是因?yàn)槲一ㄙM(fèi)了大量時(shí)間和精力加班加點(diǎn)的學(xué)習(xí),結(jié)果高考給我的成績卻很驚悚。也因?yàn)槲夷菚r(shí)官運(yùn)太好,...
    王yiyi閱讀 327評(píng)論 14 3

友情鏈接更多精彩內(nèi)容