- 相關(guān)推薦
《PHP字符串操作》收集整理
echo substr("1234567", 1, 3);
和
echo substr(123456,1, 3);
是一樣的
定義
一般用雙引號(hào)或單引號(hào)標(biāo)識(shí)一個(gè)字符串。比如
$str = "i love u";
$str = i love u;
它者兩者是有一些區(qū)別的。后者將一切單引號(hào)的內(nèi)容都會(huì)當(dāng)作字符處理;前者則不然。比如
$test = "iwind";
$str = "i love $test";
$str1 = i love $test;
echo $str; //將得到 i love iwind
echo $str1; //將得到 i love $test
同樣的以下兩個(gè)例子的行為也不一樣的:
echo "i love est"; // 將得到 i love est,已經(jīng)將 視為轉(zhuǎn)義
echo i love est; // 將得到 i love est
從而可以簡(jiǎn)單認(rèn)為雙引號(hào)里的內(nèi)容是經(jīng)過(guò)“解釋”過(guò)的,單引號(hào)的是“所見(jiàn)即所得”的。顯而易見(jiàn),雙引號(hào)形式的更為靈活一些,當(dāng)然單引號(hào)會(huì)適用于一些特殊的場(chǎng)合,這里就不作闡述了。
輸出
PHP里的輸出最常用的是echo,print.兩者都不是真正的函數(shù),而是語(yǔ)言構(gòu)造,所以調(diào)用時(shí)不必用雙括號(hào)(比如echo("test");print("test")).在輸出的時(shí)候兩者都可以實(shí)現(xiàn)賦值:
echo $str="test"; //一方面輸出test,一方面把"test"賦給字符串變量 $str
print $str="test";
兩者除了名字不一樣外,還是有其它區(qū)別的。print具有返回值,一直返回1,而echo沒(méi)有,所以echo比print要快一些:
$return = print "test";
echo $return; // 輸出1
也正因?yàn)檫@個(gè)原因,print能應(yīng)用于復(fù)合語(yǔ)句中,而echo不能:
isset($str) or print "str 變量未定義"; // 將輸出"str 變量未定義"
isset($str) or echo "str 變量未定義";// 將提示分析錯(cuò)誤
echo一次可輸出多個(gè)字符串,而print則不可以:
echo "i ","love ","iwind"; // 將輸出 "i love iwind"
print "i ","love ","iwind"; // 將提示錯(cuò)誤
echo,print還可以輸出被稱(chēng)作“文檔句法”的字符串,句法如:
echo <<< 標(biāo)簽名稱(chēng)
...
字符串內(nèi)容
...
標(biāo)簽名稱(chēng);
比如
echo <<< test
i love iwind
test;
要注意的是語(yǔ)句開(kāi)始和結(jié)束的兩個(gè)標(biāo)簽名稱(chēng)是一樣的,且后一個(gè)標(biāo)簽名稱(chēng)前不能有空白,即要頂格寫(xiě)。文檔句法輸出的內(nèi)容識(shí)別變量名稱(chēng)和常用符號(hào),大致形同雙引號(hào)的作用。
輸出echo,print外,PHP還提供了一些格式化字符串的函數(shù),比如printf,sprintf,vprintf,vsprintf,在這里不作詳解。
連接
兩個(gè)以上的字符串連接用"."操作符,依字符串的順序形成新的字符串。
$str = "i " . "love " . "iwind";
這里的$str 就是 "i love iwind";字符串。當(dāng)然,還可以使用 .= 操作符:
$str = ""; // 初始化
$str .= "i love iwind";
這里用到了初始化,是因?yàn)槲炊x變量在使用時(shí)會(huì)產(chǎn)生一個(gè)notice錯(cuò)誤,""或者null可以簡(jiǎn)單地代表空字符串。
長(zhǎng)度
PHP提供strlen函數(shù)來(lái)計(jì)算字符串的長(zhǎng)度:
$str = "test";
echo strlen($str); // 將輸出 4
有點(diǎn)奇怪的是strlen將中日等漢字以及全角字符都當(dāng)作兩個(gè)或四個(gè)長(zhǎng)度計(jì)算。好在mbstring或icon兩個(gè)函數(shù)可以幫助解決這個(gè)問(wèn)題,比如:
$len = iconv_strlen($str, "GBK");
$len = mb_strlen($str, "GBK");
注:mbstring模塊提供了大量的對(duì)含有多字節(jié)字符的字符串的處理函數(shù),推薦多加應(yīng)用,由于這篇文章講的是字符串入門(mén),所以不打算詳細(xì)解說(shuō)。
【《PHP字符串操作》收集整理】相關(guān)文章:
php字符串處理函數(shù)大全03-20
JavaScript中常見(jiàn)的字符串操作函數(shù)及用法07-24
關(guān)于php去除字符串中空字符的常用方法03-31
關(guān)于編程之PHP常用MySql操作的方法04-02
關(guān)于php中的一個(gè)中文字符串截取函數(shù)03-31
PHP的壓縮函數(shù)03-31
php高級(jí)教程01-23
淺析php函數(shù)的實(shí)例04-01