1 PHP字符串基礎(chǔ)知識(shí)
網(wǎng)站建設(shè)、做網(wǎng)站,成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向上1000家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷(xiāo)等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。定義:字符結(jié)合,在C語(yǔ)言中類(lèi)似字符數(shù)組的概念。
表達(dá)方式:
1)單引號(hào):不解析變量
2)雙引號(hào)
解析字符 \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)識(shí)符的名稱(chēng)和變量名的要求一樣.
2:heredoc的標(biāo)識(shí)符,一定是獨(dú)占一行,而且前面沒(méi)有任何其他字符
3:heredoc對(duì)文本的處理,和 雙引號(hào)一樣,即\r\n\t,變量,等,能解析出來(lái).
4)noewdoc
寫(xiě)法和heredoc一樣,但是效果和單引號(hào)一樣,不轉(zhuǎn)義\n \r \t 變量等。
2 PHP字符串內(nèi)部存儲(chǔ)方式
struct
{
char *val; 字符指針
int len; int 長(zhǎng)度 當(dāng)前字符串的長(zhǎng)度
}str;
1.c語(yǔ)言的字符指針 即字符數(shù)組 ,所以可以通過(guò)[]或{}來(lái)訪問(wèn)某一個(gè)字符。
2.字符串長(zhǎng)度可以達(dá)到2G內(nèi)存。
3.常見(jiàn)函數(shù)都是單字節(jié)處理方式
4.二進(jìn)制安全的。原因:結(jié)構(gòu)體len表示結(jié)構(gòu)體長(zhǎng)度。比如c語(yǔ)言中字符串是指連續(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)換對(duì)象,效率上json_encode高效
4 字符編碼
字符集(Charset):是一個(gè)系統(tǒng)支持的所有抽象字符的集合。字符是各種文字和符號(hào)的總稱(chēng),包括各國(guó)家文字、標(biāo)點(diǎn)符號(hào)、圖形符號(hào)、數(shù)字等。
字符編碼(Character Encoding):二進(jìn)制與字符的映射關(guān)系,就是將字符轉(zhuǎn)換為計(jì)算機(jī)可以接受的數(shù) 字代碼。就是以二進(jìn)制的數(shù)字來(lái)對(duì)應(yīng)字符集的字符。
常見(jiàn)字符編碼:
ASCII 美國(guó)
字符集:包括控制字符(回車(chē) 退格);可顯示字符(英文大小寫(xiě)字符、阿拉伯?dāng)?shù)字和西文符號(hào)) 編碼:7位表示一個(gè)字符 共計(jì)(2的7次方)128個(gè)字符。
ISO-8859-1(latin1) 西歐國(guó)家
Big5 臺(tái)灣
GB2312 中國(guó) 6763個(gè)漢字 和非漢字682個(gè) 2個(gè)字節(jié)表示 Gbk 18030個(gè)漢字
Unicode 字符集 (統(tǒng)一碼、萬(wàn)國(guó)碼、單一碼、標(biāo)準(zhǔn)萬(wàn)國(guó)碼)是業(yè)界的一種標(biāo)準(zhǔn),它可以使電腦得以體現(xiàn)世界上數(shù)十種文字的系統(tǒng)
5 Utf-8和Gbk編碼原理
UTF-8(8-bit Unicode Transformation Format)是一種針對(duì)Unicode的可變長(zhǎng)度字符編碼(定長(zhǎng)碼),也是一種前綴碼。它可以用來(lái)表示Unicode標(biāo)準(zhǔn)中的任何字符,且其編碼中的第一個(gè)字節(jié)仍與ASCII兼容,這使得原來(lái)處理ASCII字符的軟件無(wú)須或只須做少部份修改,即可繼續(xù)使用。因此,它逐漸成為電子郵件、網(wǎng)頁(yè)及其他存儲(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.帶有附加符號(hào)的拉丁文、希臘文、西里爾字母、亞美尼亞語(yǔ)、希伯來(lái)文、阿拉伯文、敘利亞文及它拿字母則需要二個(gè)字節(jié)編碼(Unicode范圍由U+0080至U+07FF)。
3.其他基本多文種平面(BMP)中的字符(這包含了大部分常用字)使用三個(gè)字節(jié)編碼。
4.其他極少使用的Unicode輔助平面的字符使用四字節(jié)編碼。
6 :字符串特性
1.可以使用大括號(hào){}來(lái)使用;
2.用超出字符串長(zhǎng)度的下標(biāo)寫(xiě)入將會(huì)拉長(zhǎng)字符串并且以空格填充。
3.非整數(shù)類(lèi)型下標(biāo)會(huì)被轉(zhuǎn)成整數(shù),非法下標(biāo)類(lèi)型會(huì)產(chǎn)生一個(gè)E_NOTICE的錯(cuò)誤。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。