PHP中的split函數(shù)是用于字符串分割的函數(shù)。舉個(gè)例子,假設(shè)有一個(gè)字符串“Hello World!”,如果我們想要將這個(gè)字符串以空格為分界點(diǎn)進(jìn)行分割,可以使用split函數(shù)實(shí)現(xiàn)。下面是這個(gè)例子的代碼:
$str = "Hello World!";
$arr = split(" ", $str);
print_r($arr);
運(yùn)行這段代碼,會(huì)得到以下輸出結(jié)果:Array
(
[0] =>Hello
[1] =>World!
)
可以看到,我們成功將字符串按空格分割成了兩個(gè)部分。
除了使用特定的分隔符進(jìn)行分割以外,split函數(shù)還支持使用正則表達(dá)式進(jìn)行分割。比如說,我們想使用“-”將一個(gè)日期字符串分割成年月日三個(gè)部分,可以使用以下代碼:$str = "2021-07-26";
$arr = split("/\//", $str);
print_r($arr);
這里的正則表達(dá)式“/\\//”表示匹配“-”符號(hào)。運(yùn)行上述代碼,會(huì)得到以下輸出結(jié)果:Array
(
[0] =>2021
[1] =>07
[2] =>26
)
可以看到,我們成功將日期字符串按“-”分割成了年月日三部分。
需要注意的是,PHP7中已經(jīng)棄用了split函數(shù),替代方案是使用preg_split函數(shù)。舉個(gè)例子,我們將最開始的例子中的split函數(shù)替換為preg_split函數(shù),代碼如下:$str = "Hello World!";
$arr = preg_split("/ /", $str);
print_r($arr);
結(jié)果和之前的例子一致,因此不再贅述。
除此之外,preg_split函數(shù)還支持更加復(fù)雜的正則表達(dá)式分割,可以滿足更為嚴(yán)格的需求。例如,我們想要將以下文本中所有標(biāo)點(diǎn)符號(hào)都去除,并將單詞分隔開來:
“Hello World! This is a test.”
可以使用以下代碼實(shí)現(xiàn):$str = "Hello World! This is a test.";
$arr = preg_split("/\W+/", $str);
print_r($arr);
這里的正則表達(dá)式“/\\W+/”表示匹配所有非單詞字符(即除字母、數(shù)字和下劃線之外的字符)。運(yùn)行上述代碼,會(huì)得到以下輸出結(jié)果:Array
(
[0] =>Hello
[1] =>World
[2] =>This
[3] =>is
[4] =>a
[5] =>test
)
可以看到,我們成功將文本中的標(biāo)點(diǎn)符號(hào)去除,并將單詞分割開來。
總之,在PHP中進(jìn)行字符串分割,split或者preg_split都是不錯(cuò)的選擇。只需要根據(jù)實(shí)際需要選擇不同的分割方式即可。