php中explode與split的區別介紹

工程師WWW發表於2015-06-19
首先來看下兩個方法的定義: 

函式原型:array split (string $pattern, string $string [, int $limit]) 

函式原型:array explode ( string $separator, string $string [, int $limit]) 

初看沒有啥差別,貌似功能都一樣。我就犯了這個錯誤。 請注意兩個函式的第一個引數string $pattern和string separator,一個是$pattern說明是正則字串,一個是$separator是普通字串。 

看下面的程式碼: 
複製程式碼程式碼如下:

$test = end(explode('.', 'abc.txt')); 
echo $test;//output txt 

換成: 
複製程式碼程式碼如下:

$test1 = end(split('.','abc.txt')); 
echo $test1;//no output 

用split的正確做法是:加轉義符號 
複製程式碼程式碼如下:

$test1 = end(split('\.','abc.txt')); 
echo $test1;//output txt 


分析:"." 符號是正規表示式的關鍵字所以split無效,而explode有效。

相關文章