php字符串的組成是什么

這篇文章主要講解了“php字符串的組成是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“php字符串的組成是什么”吧!

創(chuàng)新互聯(lián)建站擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊(duì),在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10多年,專(zhuān)業(yè)且經(jīng)驗(yàn)豐富。10多年網(wǎng)站優(yōu)化營(yíng)銷(xiāo)經(jīng)驗(yàn),我們已為上千家中小企業(yè)提供了成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)解決方案,按需求定制開(kāi)發(fā),設(shè)計(jì)滿(mǎn)意,售后服務(wù)無(wú)憂(yōu)。所有客戶(hù)皆提供一年免費(fèi)網(wǎng)站維護(hù)!

php字符串是由一系列的字符組成,其中每個(gè)字符等同于一個(gè)字節(jié),這意味著PHP只能支持256的字符集,因此不支持Unicode;在PHP中字符串的實(shí)現(xiàn)方式是一個(gè)由字節(jié)組成的數(shù)組再加上一個(gè)整數(shù)指明緩沖區(qū)長(zhǎng)度。

php字符串由什么組成?

一個(gè)字符串 string 就是由一系列的字符組成,其中每個(gè)字符等同于一個(gè)字節(jié)。這意味著 PHP 只能支持 256 的字符集,因此不支持 Unicode 。

字符串類(lèi)型詳解

PHP 中的 string 的實(shí)現(xiàn)方式是一個(gè)由字節(jié)組成的數(shù)組再加上一個(gè)整數(shù)指明緩沖區(qū)長(zhǎng)度。并無(wú)如何將字節(jié)轉(zhuǎn)換成字符的信息,由程序員來(lái)決定。字符串由什么值來(lái)組成并無(wú)限制;特別的,其值為 0(“NUL bytes”)的字節(jié)可以處于字符串任何位置(不過(guò)有幾個(gè)函數(shù),在本手冊(cè)中被稱(chēng)為非“二進(jìn)制安全”的,也許會(huì)把 NUL 字節(jié)之后的數(shù)據(jù)全都忽略)。

字符串類(lèi)型的此特性解釋了為什么 PHP 中沒(méi)有單獨(dú)的“byte”類(lèi)型 - 已經(jīng)用字符串來(lái)代替了。返回非文本值的函數(shù) - 例如從網(wǎng)絡(luò)套接字讀取的任意數(shù)據(jù) - 仍會(huì)返回字符串。

由于 PHP 并不特別指明字符串的編碼,那字符串到底是怎樣編碼的呢?例如字符串 "á" 到底是等于 "\xE1"(ISO-8859-1),"\xC3\xA1"(UTF-8,C form),"\x61\xCC\x81"(UTF-8,D form)還是任何其它可能的表達(dá)呢?答案是字符串會(huì)被按照該腳本文件相同的編碼方式來(lái)編碼。因此如果一個(gè)腳本的編碼是 ISO-8859-1,則其中的字符串也會(huì)被編碼為 ISO-8859-1,以此類(lèi)推。不過(guò)這并不適用于激活了 Zend Multibyte 時(shí);此時(shí)腳本可以是以任何方式編碼的(明確指定或被自動(dòng)檢測(cè))然后被轉(zhuǎn)換為某種內(nèi)部編碼,然后字符串將被用此方式編碼。注意腳本的編碼有一些約束(如果激活了 Zend Multibyte 則是其內(nèi)部編碼)- 這意味著此編碼應(yīng)該是 ASCII 的兼容超集,例如 UTF-8 或 ISO-8859-1。不過(guò)要注意,依賴(lài)狀態(tài)的編碼其中相同的字節(jié)值可以用于首字母和非首字母而轉(zhuǎn)換狀態(tài),這可能會(huì)造成問(wèn)題。

當(dāng)然了,要做到有用,操作文本的函數(shù)必須假定字符串是如何編碼的。不幸的是,PHP 關(guān)于此的函數(shù)有很多變種:

  • 某些函數(shù)假定字符串是以單字節(jié)編碼的,但并不需要將字節(jié)解釋為特定的字符。例如 substr(),strpos(),strlen() 和 strcmp()。理解這些函數(shù)的另一種方法是它們作用于內(nèi)存緩沖區(qū),即按照字節(jié)和字節(jié)下標(biāo)操作。

  • 某些函數(shù)被傳遞入了字符串的編碼方式,也可能會(huì)假定默認(rèn)無(wú)此信息。例如 htmlentities() 和 mbstring 擴(kuò)展中的大部分函數(shù)。

  • 其它函數(shù)使用了當(dāng)前區(qū)域(見(jiàn) setlocale()),但是逐字節(jié)操作。

  • 最后一些函數(shù)會(huì)假定字符串是使用某特定編碼的,通常是 UTF-8。intl 擴(kuò)展和 PCRE(上例中僅在使用了 u 修飾符時(shí))擴(kuò)展中的大部分函數(shù)都是這樣。

最后,要書(shū)寫(xiě)能夠正確使用 Unicode 的程序依賴(lài)于很小心地避免那些可能會(huì)損壞數(shù)據(jù)的函數(shù)。要使用來(lái)自于 intl 和 mbstring 擴(kuò)展的函數(shù)。不過(guò)使用能處理 Unicode 編碼的函數(shù)只是個(gè)開(kāi)始。不管用何種語(yǔ)言提供的函數(shù),最基本的還是了解 Unicode 規(guī)格。例如一個(gè)程序如果假定只有大寫(xiě)和小寫(xiě),那可是大錯(cuò)特錯(cuò)。

php有什么特點(diǎn)

1、執(zhí)行速度快。

2、具有很好的開(kāi)放性和可擴(kuò)展性。

3、PHP支持多種主流與非主流的數(shù)據(jù)庫(kù)。

4、面向?qū)ο缶幊蹋篜HP提供了類(lèi)和對(duì)象。

5、版本更新速度快。

6、具有豐富的功能。

7、可伸縮性。

8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。

感謝各位的閱讀,以上就是“php字符串的組成是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)php字符串的組成是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁(yè)名稱(chēng):php字符串的組成是什么
文章起源:http://bm7419.com/article24/gegcje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、品牌網(wǎng)站設(shè)計(jì)、軟件開(kāi)發(fā)、靜態(tài)網(wǎng)站、域名注冊(cè)、外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)