PHP對中文字符串的處理一直困擾于剛剛接觸PHP開發(fā)的新手程序員。下面簡要的剖析一下PHP對中文字符串長度的處理:
成都創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站、展示型成都網(wǎng)站建設(shè)、成都網(wǎng)站制作等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。
(1)PHP自帶的函數(shù)如strlen()、mb_strlen()都是通過計算字符串所占字節(jié)數(shù)來統(tǒng)計字符串長度的,一個英文字符占1字節(jié);
(2)中文則不然,做中文網(wǎng)站一般會選擇兩種編碼:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站長的喜愛。gbk與utf-8對中文的編碼不同,導(dǎo)致中文在gbk與utf-8編碼下所占字節(jié)也有差異。
1、首先新建一個php文件,命名為test.php。
2、在test.php文件內(nèi),定義兩個字符串,一個純英文字符串,另一個中英文混合的字符串。
3、使用strlen()方法統(tǒng)計長度,從執(zhí)行程序結(jié)果可見,strlen()方法統(tǒng)計$Str1的字符串長度是正確的,統(tǒng)計第二個字符串$Str2的長度是錯誤的。
4、新建一個utf8_strlen()函數(shù),定義其參數(shù)為$string,默認(rèn)為null。
5、在utf8_strlen()函數(shù)內(nèi),使用preg_match_all()方法通過正則表達(dá)式拆分字符串,并保存在$match變量中,最后,通過count()方法統(tǒng)計得到的數(shù)組元素的個數(shù),將結(jié)果返回。
6、使用utf8_strlen()方法分別統(tǒng)計$Str1,$Str2字符串的長度,并使用echo將結(jié)果輸出到頁面中。
7、在瀏覽器運行test.php文件,查看程序執(zhí)行的結(jié)果,從兩個結(jié)果可以看出成功實現(xiàn)了統(tǒng)計字符串的長度。
獲取一維數(shù)組:
count()和sizeof() 都可以直接統(tǒng)計一維數(shù)組長度。示例如下:
$arr = Array('0','1','2','3','4','5','6','7','8','9');?????? echo count($arr);??? // 輸出10
$arr = array('蘋果','香蕉','桔子','西瓜','梨','葡萄');?????????????? echo sizeof($arr);?? // 輸出6
獲取二維數(shù)組長度:
count()函數(shù)有兩個參數(shù):
count($arr,COUNT_NORMAL);?//默認(rèn),不檢測多維數(shù)組
count($arr,COUNT_RECURSIVE);?//檢測多維數(shù)組
例子:
$arr = array(
0=array('name'='kong','age'='18'),
1=array('name'='liang','age'='30')
);
count($arr) = 2;
count($arr,COUNT_RECURSIVE) = 6;
擴(kuò)展資料:
PHP 在數(shù)據(jù)庫方面的豐富支持,也是它迅速走紅的原因之一,它支持下列的數(shù)據(jù)庫或是數(shù)據(jù)文件:
Adabas 、D、 DBA、dBase 、dbm 、filePro 、Informix 、InterBase、mSQL 、Microsoft SQL Server、·MySQL、Solid、Sybase、 Oracle 、PostgreSQL
今時今日,數(shù)據(jù)庫系統(tǒng)已經(jīng)成為各個動態(tài)網(wǎng)站上 web 應(yīng)用程序的重要組成部分。由于非常敏感和機(jī)密的數(shù)據(jù)有可能保存在數(shù)據(jù)庫中,所以對數(shù)據(jù)庫實施保護(hù)就顯得尤為重要了。
要從數(shù)據(jù)庫中提取或者存入數(shù)據(jù),就必須經(jīng)過連接數(shù)據(jù)庫、發(fā)送一條合法查詢、獲取結(jié)果、關(guān)閉連接等步驟。目前,能完成這一系列動作的最常用的查詢語言是結(jié)構(gòu)化查詢語言 Structured Query Language (SQL)??梢钥纯垂粽呤侨绾未鄹?SQL 查詢語句的。
參考資料:百度百科-PHP
您好,你的問題,我之前好像也遇到過,以下是我原來的解決思路和方法,希望能幫助到你,若有錯誤,還望見諒!展開全部
獲取一維數(shù)組:
count()和sizeof() 都可以直接統(tǒng)計一維數(shù)組長度。示例如下:
$arr = Array('0','1','2','3','4','5','6','7','8','9'); echo count($arr); // 輸出10
$arr = array('蘋果','香蕉','桔子','西瓜','梨','葡萄'); echo sizeof($arr); // 輸出6
獲取二維數(shù)組長度:
count()函數(shù)有兩個參數(shù):
count($arr,COUNT_NORMAL); //默認(rèn),不檢測多維數(shù)組
count($arr,COUNT_RECURSIVE); //檢測多維數(shù)組
例子:
$arr = array(
0=array('name'='kong','age'='18'),
1=array('name'='liang','age'='30')
);
count($arr) = 2;
count($arr,COUNT_RECURSIVE) = 6;非常感謝您的耐心觀看,如有幫助請采納,祝生活愉快!謝謝!