国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
單引號(hào)
Heredoc結(jié)構(gòu)
Nowdoc結(jié)構(gòu)
變量解析
簡(jiǎn)單句法規(guī)則
復(fù)雜句法規(guī)則
存取和修改字符串中的字符
有用的函數(shù)和操作符
轉(zhuǎn)換成字符串
字符串轉(zhuǎn)變成數(shù)字
首頁 php教程 php手冊(cè) PHP 第二節(jié) 數(shù)據(jù)類型之字符串類型

PHP 第二節(jié) 數(shù)據(jù)類型之字符串類型

Jun 13, 2016 pm 12:01 PM
php 單引號(hào) 可以 字串 定義 數(shù)據(jù) 方式 類型 透過

PHP中一個(gè)字符串可以通過下面的4種方式來定義:

  • 單引號(hào)
  • 雙引號(hào)
  • heredoc 語法結(jié)構(gòu)
  • nowdoc 語法結(jié)構(gòu) (自PHP 5.3.0以后)

單引號(hào)

定義一個(gè)字符串 的最簡(jiǎn)單的方法是用單引號(hào)把它包圍起來 (標(biāo)點(diǎn)符號(hào) ')。

如果想要輸出一個(gè)單引號(hào),需在它的前面加個(gè)反斜線 (\)。在單引號(hào)前或在字符串的結(jié)尾處 想要輸出反斜線,輸入兩條 (\\)。注意,如果在任何其它的字符前加了反斜線,反斜線將會(huì)被直接輸出。

Note: 不像雙引號(hào)heredoc語法結(jié)構(gòu), 在單引號(hào)字符串中的變量 和特殊含義的字符將不會(huì)被替換。

如果字符串是包圍在雙引號(hào)(")中, PHP將對(duì)一些轉(zhuǎn)義字符進(jìn)行解析,和單引號(hào)字符串一樣, 如果輸出轉(zhuǎn)義字符之外的字符,反斜線會(huì)被打印出來。 PHP5.1.1以前,\{$var} 中的反斜線還不會(huì)被顯示出來。

用雙引號(hào)定義的 字符串最重要的特征是變量會(huì)被執(zhí)行。

Heredoc結(jié)構(gòu)

第三種定義字符串的方法是用heredoc句法結(jié)構(gòu):。在該提示 符后面,要定義個(gè)標(biāo)識(shí)符,然后是一個(gè)新行。接下來是字符串本身,最后要用前面定義的標(biāo)識(shí)符作為結(jié)束標(biāo)志。

結(jié)束時(shí)所引用的標(biāo)識(shí)符必須在一行的開始位置, 而且,標(biāo)識(shí)符的命名也要像其它標(biāo)簽一樣遵守PHP的規(guī)則:只能包含 字母、數(shù)字和下劃線,并且不能用數(shù)字和下劃線作為開頭。

Warning要注意的是結(jié)束標(biāo)識(shí)符這行除了 可能有一個(gè)分號(hào)(;)外,絕對(duì)不能包括 其它字符。這意味著標(biāo)識(shí)符不能縮進(jìn),分號(hào)的前后也不能有任何空白或tabs。更重要的是結(jié)束標(biāo)識(shí)符的前面必須是個(gè)被本地 操作系統(tǒng)認(rèn)可的新行標(biāo)簽,比如在UNIX和Mac OS X系統(tǒng)中是\n ,而結(jié)束標(biāo)識(shí)符(可能有個(gè)分號(hào))的后面也必須跟個(gè) 新行標(biāo)簽。

如果不遵守該規(guī)則導(dǎo)致結(jié)束標(biāo)簽不“干凈”,PHP將認(rèn)為它不是結(jié)束標(biāo)識(shí)符而繼續(xù)尋找。如果在文件結(jié)束前也沒有找到一個(gè)正確的結(jié)束標(biāo)識(shí)符,PHP將會(huì)在最后一 行產(chǎn)生一個(gè)句法錯(cuò)誤。

Heredoc結(jié)構(gòu)就象是沒有使用雙引號(hào)的雙引號(hào)字符串, 這就是說在heredoc結(jié)構(gòu)中引號(hào)不用被替換,但是上文中列出的字符 (\n等)也可使用。 變量將被替換,但在heredoc結(jié)構(gòu)中字符串表達(dá)復(fù)雜變量時(shí),要格外小心。

Nowdoc結(jié)構(gòu)

就象heredoc結(jié)構(gòu)類似于雙引號(hào)字符串,Nowdoc結(jié)構(gòu)是類似于單引號(hào)字符串的。Nowdoc結(jié)構(gòu)很象heredoc結(jié)構(gòu),但是 nowdoc不進(jìn)行解析操作 。 這種結(jié)構(gòu)很適合用在不需要進(jìn)行轉(zhuǎn)義的PHP代碼和其它大段文本。與SGML的 結(jié)構(gòu)是用來聲明大段的不用解析的文本類似,nowdoc結(jié)構(gòu)也有相同的特征。

一個(gè)nowdoc結(jié)構(gòu)也用和heredocs結(jié)構(gòu)一樣的標(biāo)記 , 但是跟在后面的標(biāo)志符要用 單引號(hào)括起來,就像這樣。heredocs結(jié)構(gòu)的所有規(guī)則也同樣適用于nowdoc結(jié) 構(gòu),尤其是結(jié)束標(biāo)志符的規(guī)則。

變量解析

當(dāng)字符串用雙引號(hào)或heredoc結(jié)構(gòu)定義時(shí),其中的變 量將會(huì)被解析。

這里共有兩種語法規(guī)則:一種簡(jiǎn)單 規(guī)則,一種復(fù)雜規(guī) 則。簡(jiǎn)單的句法規(guī)則是最常用和最方便的, 它可以用最少的代碼在一個(gè)字符串中加入變量, 數(shù)組 值,或 對(duì)象屬性。

復(fù)雜的句法規(guī)則是在PHP4以后加入的,被花括號(hào)包圍的表達(dá)式是其明顯標(biāo)記。

簡(jiǎn)單句法規(guī)則

當(dāng)PHP解析器遇到一個(gè)美元符號(hào) ($) , 它會(huì)和其它很多解析器一樣,去盡量形成一個(gè)合法的變量名??梢杂没ɡ?號(hào)來明確變量名的界線。

?

如果想要表達(dá)更復(fù)雜的結(jié)構(gòu),請(qǐng)用復(fù)雜句法規(guī)則。

?

復(fù)雜句法規(guī)則

?

復(fù)雜句法規(guī)則不是結(jié)構(gòu)復(fù)雜而命名,而是因?yàn)樗梢允褂脧?fù)雜的表達(dá)式。

任何想用在字符串中標(biāo)量變量,數(shù)組變量或?qū)ο髮傩远伎墒褂眠@種方法。 只需簡(jiǎn)單地像在字符串以外的地方那樣寫出表達(dá)式, 然后用花括號(hào){}把它括起來。 由于 { 無法被轉(zhuǎn)義,只有 $ 要緊挨著 {才會(huì)被認(rèn)出來,可以用 {\$ 來表達(dá) {$。

?

存取和修改字符串中的字符

?

字符串中的字符可以通過一個(gè)以0為開始的,用類似數(shù)組結(jié)構(gòu)中的方括號(hào)包含對(duì)應(yīng)的數(shù)字來查找和修改,比如 $str[42], 可以把 字符串想像數(shù)組 。 函數(shù) substr()substr_replace()可以用來實(shí)現(xiàn)多于一個(gè)字符 的情況。

?

Warning方括號(hào)中的數(shù)字超出范圍將會(huì)產(chǎn)生空白。非整數(shù)類型被轉(zhuǎn)換成整數(shù),非整數(shù)類型轉(zhuǎn)變成整數(shù),非法類型會(huì)產(chǎn)生一個(gè) E_NOTICE級(jí)別錯(cuò)誤,負(fù)數(shù)在寫入時(shí)會(huì)產(chǎn)生一個(gè)E_NOTICE,但讀 取的是空字符串。被指定的字符串只有第一個(gè)字符可用,空字符串用指定為空字節(jié)。

?

有用的函數(shù)和操作符

字符串可以用'.' (點(diǎn)) 操作符連接起來, 注意 '+' (加號(hào)) 操作符沒有 這個(gè)功能。?

對(duì)于字符串的操作有很多有用的函數(shù)。

可以參考 字符串函數(shù) 了解大部分函數(shù), 高級(jí)的查找&替換功能可以參考 正則表達(dá)式函數(shù)Perl類型的正則 表達(dá)式函數(shù)。

另外還有URL字符串的函數(shù), 也有加密/解密字符串的函數(shù)。 (mcryptmhash).

最后,可以參考 字符類型函數(shù)。

?

轉(zhuǎn)換成字符串

?

一個(gè)值可以通過在其前面加上(string)或用strval()函數(shù)來轉(zhuǎn)變成 字符串。 在一個(gè)需要字符串的表達(dá)式中,字符串會(huì)自動(dòng)轉(zhuǎn)變,比如在使用函數(shù) echoprint 時(shí), 或在一個(gè)變量和一個(gè) 字符串 進(jìn)行比較時(shí),就會(huì)發(fā)生這種轉(zhuǎn)變 類型類型轉(zhuǎn)換 可以更好的解釋下面的事情,也可參考函 數(shù) settype() 。

?

一個(gè)boolean TRUE 值被轉(zhuǎn)換成 字符串"1"。 Boolean FALSE 被轉(zhuǎn)換成"" (空的字符串)。 這種轉(zhuǎn)變可以在 boolean字符串 之間往返進(jìn)行。

?

一個(gè) 整數(shù)浮點(diǎn)數(shù) 被轉(zhuǎn)變?yōu)閿?shù)字的字面樣式的字符串 (包括 浮點(diǎn)數(shù)中的指數(shù)部分),使用指數(shù)計(jì)數(shù)法的浮點(diǎn)數(shù) (4.1E+6)也可轉(zhuǎn)變。

數(shù)組轉(zhuǎn)換成 字符串 "Array",因此, echoprint c無法顯示出該數(shù)組的值。如果顯示一個(gè)數(shù)組值,可以用 echo $arr['foo']這種結(jié)構(gòu),更多內(nèi)容見下文。

在PHP 4中對(duì)象被轉(zhuǎn)換成 字符串 "Object", 為了調(diào)試原因需要打印出對(duì)象的值,方法見正文。為了得到對(duì)象的類的名稱,可以用 get_class() 函數(shù)。 在PHP5中, 可以用 __toString 。

資源總會(huì)被轉(zhuǎn)變成"Resource id #1"這種結(jié)構(gòu)的字符串 , 其中的 1 是PHP分配給該資源的獨(dú)特?cái)?shù)字。不用過多關(guān)注這種結(jié)構(gòu),它馬上要轉(zhuǎn)變了。為了得到一個(gè) resource類型,可以用函數(shù) get_resource_type()。

NULL 總是被轉(zhuǎn)變成空的字符串。

如上面所說的,直接把數(shù)組, 對(duì)象資源 轉(zhuǎn)換成 字符串 不會(huì)得到超出其自身的更多信息??梢允褂煤瘮?shù) print_r()var_dump() 列出這些類型的內(nèi)容。

大部分的PHP值可以轉(zhuǎn)變成 字符串s 來長(zhǎng)期儲(chǔ)存,這被稱作串行化,可以用函數(shù) serialize() 來實(shí)現(xiàn)。 如果PHP引擎設(shè)定支持 WDDX , PHP值也可儲(chǔ)存成XML格式。

字符串轉(zhuǎn)變成數(shù)字

當(dāng)一個(gè)字符串被用在了一個(gè)數(shù)字的環(huán)境中,結(jié)果和類型如下:

如果字符串沒有包含 '.','e'或'E' 并且數(shù)字值符合整數(shù)類型的限定 ( PHP_INT_MAX定義的), 這個(gè) 字符串 可被認(rèn)定是一個(gè) integer, 在其它情況下被認(rèn)定為一個(gè)float

字符串的開始部分給定了它的值,如果 字符串 以合法的數(shù)字開始,這個(gè)數(shù)字可直接使用。 否則,值就是 0 (零)。 合法數(shù)值由符號(hào),后面跟著一個(gè)或多個(gè)數(shù)字(可能有個(gè)小數(shù)點(diǎn)),再跟著可選的指數(shù)符號(hào)如'e' 或 'E',后面跟著一個(gè)或多個(gè)數(shù)字。

不要想像在C語言中的那樣,通過一個(gè)整數(shù)轉(zhuǎn)換得到相應(yīng)字符,使用函數(shù) ord()chr() 實(shí)現(xiàn)ASCII碼和字符間的轉(zhuǎn)換。

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

PHP設(shè)置的簡(jiǎn)單指南 PHP設(shè)置的簡(jiǎn)單指南 Jul 18, 2025 am 04:25 AM

PHP設(shè)置的關(guān)鍵在於明確安裝方式、配置php.ini、連接Web服務(wù)器及啟用必要擴(kuò)展。 1.安裝PHP:Linux用apt、Mac用Homebrew、Windows推薦XAMPP;2.配置php.ini:調(diào)整錯(cuò)誤報(bào)告、上傳限制等並重啟服務(wù)器;3.搭配Web服務(wù)器:Apache通過mod_php,Nginx使用PHP-FPM;4.安裝常用擴(kuò)展:如mysqli、json、mbstring等以支持完整功能。

撰寫PHP評(píng)論的提示 撰寫PHP評(píng)論的提示 Jul 18, 2025 am 04:51 AM

寫好PHP註釋的關(guān)鍵在於明確目的與規(guī)範(fàn),註釋應(yīng)解釋“為什麼”而非“做了什麼”,避免冗餘或過於簡(jiǎn)單。 1.使用統(tǒng)一格式,如docblock(/*/)用於類、方法說明,提升可讀性與工具兼容性;2.強(qiáng)調(diào)邏輯背後的原因,如說明為何需手動(dòng)輸出JS跳轉(zhuǎn);3.在復(fù)雜代碼前添加總覽性說明,分步驟描述流程,幫助理解整體思路;4.合理使用TODO和FIXME標(biāo)記待辦事項(xiàng)與問題,便於後續(xù)追蹤與協(xié)作。好的註釋能降低溝通成本,提升代碼維護(hù)效率。

編寫有效的PHP評(píng)論 編寫有效的PHP評(píng)論 Jul 18, 2025 am 04:44 AM

註釋不能馬虎是因?yàn)樗忉尨a存在的原因而非功能,例如兼容老接口或第三方限制,否則看代碼的人只能靠猜。必須加註釋的地方包括複雜的條件判斷、特殊的錯(cuò)誤處理邏輯、臨時(shí)繞過的限制。寫註釋更實(shí)用的方法是根據(jù)場(chǎng)景選擇單行註釋或塊註釋,函數(shù)、類、文件開頭用文檔塊註釋說明參數(shù)與返回值,並保持註釋更新,對(duì)複雜邏輯可在前面加一行概括整體意圖,同時(shí)不要用註釋封存代碼而應(yīng)使用版本控制工具。

學(xué)習(xí)PHP:初學(xué)者指南 學(xué)習(xí)PHP:初學(xué)者指南 Jul 18, 2025 am 04:54 AM

易於效率,啟動(dòng)啟動(dòng)tingupalocalserverenverenvirestoolslikexamppandacodeeditorlikevscode.1)installxamppforapache,mysql,andphp.2)uscodeeditorforsyntaxssupport.3)

有效的PHP評(píng)論 有效的PHP評(píng)論 Jul 18, 2025 am 04:33 AM

寫好PHP註釋的關(guān)鍵在於清晰、有用且簡(jiǎn)潔。 1.註釋應(yīng)說明代碼背後的意圖而非僅描述代碼本身,如解釋複雜條件判斷的邏輯目的;2.在魔術(shù)值、舊代碼兼容、API接口等關(guān)鍵場(chǎng)景添加註釋以提升可讀性;3.避免重複代碼內(nèi)容,保持簡(jiǎn)潔具體,並使用標(biāo)準(zhǔn)格式如PHPDoc;4.註釋需與代碼同步更新,確保準(zhǔn)確性。好的註釋應(yīng)站在他人角度思考,降低理解成本,成為代碼的理解導(dǎo)航儀。

掌握PHP塊評(píng)論 掌握PHP塊評(píng)論 Jul 18, 2025 am 04:35 AM

PHPblockcommentsareusefulforwritingmulti-lineexplanations,temporarilydisablingcode,andgeneratingdocumentation.Theyshouldnotbenestedorleftunclosed.BlockcommentshelpindocumentingfunctionswithPHPDoc,whichtoolslikePhpStormuseforauto-completionanderrorche

通過評(píng)論提高可讀性 通過評(píng)論提高可讀性 Jul 18, 2025 am 04:46 AM

寫好註釋的關(guān)鍵在於說明“為什麼”而非僅“做了什麼”,提升代碼可讀性。 1.註釋應(yīng)解釋邏輯原因,例如值選擇或處理方式背後的考量;2.對(duì)複雜邏輯使用段落式註釋,概括函數(shù)或算法的整體思路;3.定期維護(hù)註釋確保與代碼一致,避免誤導(dǎo),必要時(shí)刪除過時(shí)內(nèi)容;4.在審查代碼時(shí)同步檢查註釋,並通過文檔記錄公共邏輯以減少代碼註釋負(fù)擔(dān)。

快速PHP安裝教程 快速PHP安裝教程 Jul 18, 2025 am 04:52 AM

ToinstallPHPquickly,useXAMPPonWindowsorHomebrewonmacOS.1.OnWindows,downloadandinstallXAMPP,selectcomponents,startApache,andplacefilesinhtdocs.2.Alternatively,manuallyinstallPHPfromphp.netandsetupaserverlikeApache.3.OnmacOS,installHomebrew,thenrun'bre

See all articles