今天在使用split時遇到一些問題。還是對函數理解不深刻,特寫出來做個記號
首先來看下兩個方法的定義:
函數原型: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有效。
以上是php中explode()函數與split()函數的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!