1 PHP字符串基礎(chǔ)知識
定義:字符結(jié)合,在C語言中類似字符數(shù)組的概念。
表達(dá)方式:
1)單引號:不解析變量
2)雙引號
解析字符 \n \r \t \v \e \f \\ \$ \"
\[0-7]{1,3} 八進(jìn)制方式表達(dá)的字符
\x[0-9a-Fa-f]{1,2} 十六進(jìn)制方式表達(dá)的字符
3)heredoc
1:標(biāo)識符的名稱和變量名的要求一樣.
2:heredoc的標(biāo)識符,一定是獨(dú)占一行,而且前面沒有任何其他字符
3:heredoc對文本的處理,和 雙引號一樣,即\r\n\t,變量,等,能解析出來.
4)noewdoc
寫法和heredoc一樣,但是效果和單引號一樣,不轉(zhuǎn)義\n \r \t 變量等。
2 PHP字符串內(nèi)部存儲(chǔ)方式
struct
{
char *val; 字符指針
int len; int 長度 當(dāng)前字符串的長度
}str;
1.c語言的字符指針 即字符數(shù)組 ,所以可以通過[]或{}來訪問某一個(gè)字符。
2.字符串長度可以達(dá)到2G內(nèi)存。
3.常見函數(shù)都是單字節(jié)處理方式
4.二進(jìn)制安全的。原因:結(jié)構(gòu)體len表示結(jié)構(gòu)體長度。比如c語言中字符串是指連續(xù)的內(nèi)存空間,以'\0'結(jié)尾,所以當(dāng)字符串中包含'\0'的時(shí)候,會(huì)截?cái)嘧址?/p>
3 串行化字符串
方法:
1.函數(shù)serialize().
2json_encode().
3.var_export($item,true);
serialize不僅僅可以轉(zhuǎn)化數(shù)組還可以轉(zhuǎn)換對象,效率上json_encode高效
4 字符編碼
字符集(Charset):是一個(gè)系統(tǒng)支持的所有抽象字符的集合。字符是各種文字和符號的總稱,包括各國家文字、標(biāo)點(diǎn)符號、圖形符號、數(shù)字等。
字符編碼(Character Encoding):二進(jìn)制與字符的映射關(guān)系,就是將字符轉(zhuǎn)換為計(jì)算機(jī)可以接受的數(shù) 字代碼。就是以二進(jìn)制的數(shù)字來對應(yīng)字符集的字符。
常見字符編碼:
ASCII 美國
字符集:包括控制字符(回車 退格);可顯示字符(英文大小寫字符、阿拉伯?dāng)?shù)字和西文符號) 編碼:7位表示一個(gè)字符 共計(jì)(2的7次方)128個(gè)字符。
ISO-8859-1(latin1) 西歐國家
Big5 臺灣
GB2312 中國 6763個(gè)漢字 和非漢字682個(gè) 2個(gè)字節(jié)表示 Gbk 18030個(gè)漢字
Unicode 字符集 (統(tǒng)一碼、萬國碼、單一碼、標(biāo)準(zhǔn)萬國碼)是業(yè)界的一種標(biāo)準(zhǔn),它可以使電腦得以體現(xiàn)世界上數(shù)十種文字的系統(tǒng)
5 Utf-8和Gbk編碼原理
UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼(定長碼),也是一種前綴碼。它可以用來表示Unicode標(biāo)準(zhǔn)中的任何字符,且其編碼中的第一個(gè)字節(jié)仍與ASCII兼容,這使得原來處理ASCII字符的軟件無須或只須做少部份修改,即可繼續(xù)使用。因此,它逐漸成為電子郵件、網(wǎng)頁及其他存儲(chǔ)或傳送文字的應(yīng)用中,優(yōu)先采用的編碼。互聯(lián)網(wǎng)工程工作小組(IETF)要求所有互聯(lián)網(wǎng)協(xié)議都必須支持UTF-8編碼。
UTF-8使用一至四個(gè)字節(jié)為每個(gè)字符編碼:
1.128個(gè)US-ASCII字符只需一個(gè)字節(jié)編碼(Unicode范圍由U+0000至U+007F)。
2.帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要二個(gè)字節(jié)編碼(Unicode范圍由U+0080至U+07FF)。
3.其他基本多文種平面(BMP)中的字符(這包含了大部分常用字)使用三個(gè)字節(jié)編碼。
4.其他極少使用的Unicode輔助平面的字符使用四字節(jié)編碼。
6 :字符串特性
1.可以使用大括號{}來使用;
2.用超出字符串長度的下標(biāo)寫入將會(huì)拉長字符串并且以空格填充。
3.非整數(shù)類型下標(biāo)會(huì)被轉(zhuǎn)成整數(shù),非法下標(biāo)類型會(huì)產(chǎn)生一個(gè)E_NOTICE的錯(cuò)誤。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
當(dāng)前文章:PHP字符串-創(chuàng)新互聯(lián)
分享地址:http://www.chinadenli.net/article18/djsedp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、面包屑導(dǎo)航、企業(yè)建站、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)