PHP里的字符串定義小技巧匯總


  在PHP里定義一個字符串的值有多種方式,其中有不少技巧,特搜集整理在這里備用。

1、最普通的格式,用雙引號或單引號引用起來的字符,比如

$str="我是雙引號包起來的字符串"; 或 $str='我是單引號包起來的字符串';

要問二者有什么區別,在於雙引號包起來的字符串可以不需要連接符而直接插入變量,而單引號不會對字符串內的變量格式做處理,所以如果要定義拼接變量的字符串,用單引號會更快一些。

值得注意的是,經過手動測試,如果定義純粹字符串,不拼接不包含變量的話,用雙引號倒是效率高那么一點點。

2、雙引號包起來的字符串內可以直接插入變量,比如直接在要插入變量的位置寫入變量名或者用大括號把變量名包起來,

$str1="第一個字符串變量的內容是:$str,就這么多。";輸出的時候$str會被替換成對應變量的值。

補充:如果用“文字{$str}文字”的方式內嵌變量名,則變量名是你所預期指定的,而如果用“文字$str文字”來內嵌變量名,此時變量會被處理成“$str文字”,而不是你所預期的“$str”。之所以如此,是因為沒有明確用大括號指明變量的時候,PHP自動處理變量名的時候,是采用的單詞分詞字符作為界限的,這里一定要注意。分詞字符一般是空格標點符號等。

3、如果不使用直接插入變量的方法定義字符串,可以用點號連接多個字符串,比如

$str1='第一個字符串變量的內容是:' . $str . ',就這么多。';

4、如果遇到需要多行書寫的字符串怎么辦,比如我們要定義一段JS腳本,當然如果把腳本寫在一行里是沒問題的,但是如果腳本比較長一些,而且其中會出現很多轉義符號的話,腳本最終成型的話,很有可能成了一鍋黏粥了。不但格式上不好閱讀,而且一旦出問題要修改的話,也會很羅嗦。那么有沒有辦法可以把字符串直接定義成多行,並且引號之類的需要轉義的字符可以直接輸出呢?答案是肯定的,PHP早就預料到這種需求了。我們可以這么定義一段多行字符串:

$str=<<<STR
'ok',"hello"
I will
{$str1}
STR;

其中三個小於號代表多行字符串的輸入,STR是字符串界定符,界定符的名字可以自己定義,兩個界定符之間的內容就是多行字符串。其中的單引號雙引號可以直接輸出而不必轉義,當然里面也可以直接插入變量,輸出是會自動替換變量值的。

5、外加一個小技巧,當使用 echo進行字符串輸出時,如果字符串使用拼接方式組成,可以使用逗號來連接需要拼接的各部分字符串和變量,比如

echo  'first',"second",$str,"end";

據說這樣輸出速度要快一些,原因在於echo可以接受多個參數,並直接按順序輸出,實際上逗號不是拼接字符串,而是把不同字符串和變量作為參數傳送給echo命令。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM