PHP 字符串操作入門教程
2024-05-04 22:14:16
供稿:網友
無論哪種語言,字符串操作都是一個重要的基礎,往往是簡單而重要。正像人說話一樣,一般有形體(圖形界面),有語言(print 字符串?),顯然字符串能解釋更多的東西。PHP提供了大量的字符串操作函數,功能強大,使用也比較簡單,詳細請參看 http://cn2.php.net/manual/zh/ref.strings.php . 以下將簡單的講述它的功能和特性。
弱類型
PHP是弱類型語言,所以其它類型的數據一般可以直接應用于字符串操作函數里,而自動轉換成字符串類型,進行處理,如:
echo substr("1234567", 1, 3);
和
echo substr(123456,1, 3);
是一樣的
定義
一般用雙引號或單引號標識一個字符串。比如
$str = "i love u";
$str = 'i love u';
它者兩者是有一些區別的。后者將一切單引號的內容都會當作字符處理;前者則不然。比如
$test = "iwind";
$str = "i love $test";
$str1 = 'i love $test';
echo $str; //將得到 i love iwind
echo $str1; //將得到 i love $test
同樣的以下兩個例子的行為也不一樣的:
echo "i love test"; // 將得到 i love est,已經將t視為轉義
echo 'i love test'; // 將得到 i love test
從而可以簡單認為雙引號里的內容是經過“解釋”過的,單引號的是“所見即所得”的(特殊地,''會被認作一個'')。顯而易見,雙引號形式的更為靈活一些,當然單引號會適用于一些特殊的場合,這里就不作闡述了。
輸出
PHP里的輸出最常用的是echo,print.兩者都不是真正的函數,而是語言構造,所以調用時不必用雙括號(比如
echo("test");print("test")).在輸出的時候兩者都可以實現賦值:
echo $str="test"; //一方面輸出test,一方面把"test"賦給字符串變量 $str
print $str="test";
兩者除了名字不一樣外,還是有其它區別的。print具有返回值,一直返回1,而echo沒有,所以echo比print要快一些:
$return = print "test";
echo $return; // 輸出1
也正因為這個原因,print能應用于復合語句中,而echo不能:
isset($str) or print "str 變量未定義"; // 將輸出"str 變量未定義"
isset($str) or echo "str 變量未定義";// 將提示分析錯誤