PHP 使用函數explode()、implode()和join()分割和連接字符串
通常,我們想查看字符串的各個部分。例如,查看句子中的單詞(例如,拼寫檢查),或者要將一個域名或電子郵件地址分割成一個個的組件部分。PHP提供了幾個字符串函數(和一個正則表達式函數)來實現此功能。
分割字符串:explode()函數,它的函數原型如下所示:
array explode(string separator,string input[,int limit]);
這個函數帶有一個輸入字符串作爲參數,並根據一個指定的分隔符字符串將字符串本身分割爲小塊,將分割後的小塊返回到一個數組中。可以通過可選的參數limit來限制分成字符串小塊的數量。(此函數區分大小寫)
連接字符串:implode()函數,它的函數原型如下所示:
string implode(string separator,array input);
使用implode()或join()函數來實現與函數explode()相反的效果,這兩個函數的效果是一致的。從數組中取出數組元素,然後用第一個傳入的參數字符將它們連接在一起。這個函數的調用同explode()十分相似,但效果卻相反。
例子:
<?php
$str = "He told me:'Hello world! but I don't have any money!'";
echo "原字符串:<br>";
var_dump($str);
$ret_arr = explode("e", $str);
echo "用字符‘e’分解字符串:<br>";
var_dump($ret_arr);
$ret_arr_3 = explode("e",$str,3);
echo "用字符‘e’分解字符串並限制分解爲3塊:<br>";
var_dump($ret_arr_3);
$ret_str = implode("i", $ret_arr_3);
echo "用字符‘i’拼接字符串數組:<br>";
var_dump($ret_str);
輸出:
原字符串:
string 'He told me:'Hello world! but I don't have any money!'' (length=53)
用字符‘e’分解字符串:
array
0 => string 'H' (length=1)
1 => string ' told m' (length=7)
2 => string ':'H' (length=3)
3 => string 'llo world! but I don't hav' (length=26)
4 => string ' any mon' (length=8)
5 => string 'y!'' (length=3)
用字符‘e’分解字符串並限制分解爲3塊:
array
0 => string 'H' (length=1)
1 => string ' told m' (length=7)
2 => string ':'Hello world! but I don't have any money!'' (length=43)
用字符‘i’拼接字符串數組:
string 'Hi told mi:'Hello world! but I don't have any money!'' (length=53)