php内置函数和扩展,PHP 内置函数strlen 和mbstring扩展函数mb_strlen的区别
#EXAMPLE
$str_uncode = "簡體中文Chinese(Simplified)";
//統計字符串長度
echo strlen($str_uncode).'
';//結果:31
echo mb_strlen($str_uncode, 'UTF-8').'
';結果:23
echo mb_strlen($str_uncode, 'GBK').'
';結果:25
echo mb_strlen($str_uncode, 'GB2312').'
';結果27
結果分析:
strlen 把一個中文按3字節算(復雜的漢字會按4字節算)
mb_strlen ?'UTF-8'編碼 一個漢字按一個字節位來算
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的內部編碼。內部編碼可以通過 mb_internal_encoding()函數得到。
mb_strlen并不是PHP核心函數,使用前需要確保在php.ini中加載了php_mbstring.dll,即確保“extension=php_mbstring.dll”這一行存在并且沒有被注釋掉,否則會出現未定義函 數的問題。
MySQL--(了解)可能會用到的內置函數
mysql內置函數列表可以從mysql官方文檔查詢,這里僅分類簡單介紹一些可能會用到的函數.1 數學函數abs(x)pi()mod(x,y)sqrt(x)ceil(x)或者ceiling(x)rand ...
php2go - Go 實現 PHP 常用內置函數
[轉]http://www.syyong.com/Go/php2go-Use-Golang-to-implement-PHP-s-common-built-in-functions.html 使用Go ...
8. Smarty3:模版中的內置函數
smarty3中對內置函數的修改比較大,加入了很多新的功能:變量聲明.表達式,流程控制,函數.數組等.可是建議不要在模版中去使用過于復雜的邏輯,而是要盡量將一些程序設計邏輯寫到PHP中,并在模版中採用 ...
PHP不使用內置函數intval(),實現字符串轉整數
平時我們用PHP時,將字符串轉化為整型時,一般都是使用 intval() 內置函數,那么如果我們自己寫,怎么寫一個呢? 此時我們可以利用 ASCII 碼計算得整數的特性,因為每個字符都對應一個?ASC ...
Entity Framework 6 Recipes 2nd Edition(11-12)譯 ->; 定義內置函數
11-12. 定義內置函數 問題 想要定義一個在eSQL 和LINQ 查詢里使用的內置函數. 解決方案 我們要在數據庫中使用IsNull 函數,但是EF沒有為eSQL 或LINQ發布這個函數. 假設我 ...
Oracle內置函數:時間函數,轉換函數,字符串函數,數值函數,替換函數
dual單行單列的隱藏表,看不見 但是可以用,經常用來調內置函數.不用新建表 時間函數 sysdate 系統當前時間 add_months 作用:對日期的月份進行加減 寫法:add_months(日期 ...
python內置函數
python內置函數 官方文檔:點擊 在這里我只列舉一些常見的內置函數用法 1.abs()[求數字的絕對值] >>> abs(-13) 13 2.all() 判斷所有集合元素都為真的 ...
DAY5 python內置函數+驗證碼實例
內置函數 用驗證碼作為實例 字符串和字節的轉換 字符串到字節 字節到字符串
python之常用內置函數
python內置函數,可以通過python的幫助文檔 Build-in Functions,在終端交互下可以通過命令查看 >>> dir("__builtins__&quo ...
隨機推薦
在Linux上運行ASP.NET vNext
最新的ASP.NET vNext完全開源且可以跨多個平臺運行,在Windows環境下我嘗試了下,幾乎沒花什么工夫就跑起了Sample,而在Linux環境下則要多花了不少時間,所以特別記錄下整個過程,希 ...
獲取HTML
public class GetHtml { public string GetWebRequest(string url) { Uri uri = new Uri(url); WebRequest ...
最精簡的IOCP封裝
最精簡的IOCP封裝,DELPHI XE8直接編譯通過.Winsock2.pas即使用DELPHI自帶的,相信XE7也能編譯,或者XE6,XE5也能. 單說Winsock2.pas,我見過無數種版本的 ...
pku3668 Game of Lines
http://poj.org/problem?id=3668 水題,STL #include #include using namespace ...
cf500C New Year Book Reading
C. New Year Book Reading time limit per test?2 seconds memory limit per test?256 megabytes input?sta ...
混淆篇之原生DOM操作方法小結
1.0?? DOM結構 1.1先來看結構圖: 父節點?? ??? ?兄弟節點?? ??? ?當前節點?? ??? ??? ?屬性節點?? ??? ??? ?子節點?? ??? ?兄弟節點一般任意一個節 ...
[jbdj]SpringMVC框架(1)快速入門
1)springmvc快速入門(傳統版) 步一:創建springmvc_demo一個web應用 步二:導入springioc,springweb , springmvc相關的jar包 步三:在/WEB ...
Jetty的工作原理
Jetty的工作原理 Jetty 的基本架構 Jetty 目前的是一個比較被看好的 Servlet 引擎,它的架構比較簡單,也是一個可擴展性和非常靈活的應用服務器,它有一個基本數據模型,這個數據模型就 ...
asp.net導入后臺代碼
public void Upload(string information){ int Bank = 0; for (int i = 0; i
總結
以上是生活随笔為你收集整理的php内置函数和扩展,PHP 内置函数strlen 和mbstring扩展函数mb_strlen的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php strrchar,php文件上传
- 下一篇: 怎么修改linux用户名密码忘记,lin