在php中,我們知道正規表示式過濾函數有兩個,分別是preg_filter()與preg_replace(),但是不一定所有人都知道他們之間的差異在哪裡。今天小編就帶大家一起來了解。
PHP正規取代濾波函數
怎麼說呢正規取代濾波函數跟先前我們說的取代函數很類似,就只有一點點的小區分不知道大家發現沒有!!
==preg_filter()==函數: 執行一個正規表示式搜尋和替換
通常情況下preg_filter()函數等價於preg_replace()函數
案例1程式碼如下:
$arr=array('1.jpg','2.txt','3.doc','4.exe','5.php'); $pattern='/\.jpg|\.txt/';$replacement=''; $result1=preg_replace($pattern, $replacement, $arr); $result2=preg_filter($pattern, $replacement, $arr); show($result2);
preg_filter()和preg_replace()的實際差異
案例2程式碼如下:
$pattern=array( "/\d+/", "/ccc/"); $replacement=array( '1024', 'PHP'); $string=array( '1234aaa', 'abbbccc', 'wampserver'); $result1=preg_replace($pattern, $replacement, $string); show($result1); $result2=preg_filter($pattern, $replacement, $string); show($result2);
所以差異如下:
preg_filter()只會返回發生替換過濾後的數組元素,而沒有替換的數組元素沒有返回
preg_replace() 返回的不僅是發生替換過濾後的數組元素,並且沒有發生替換的元素也會保留下來並且返回!
其實大家只要一測試打印出彼此的結果就可以馬上知道相互之間的區別了!
推薦學習:php影片教學
以上是詳細介紹PHP中preg_filter()與preg_replace()的差異的詳細內容。更多資訊請關注PHP中文網其他相關文章!