2015-07-21 53 views
0

當使用PHP的str_replace函數時,是否可以判斷哪個或哪些字符串被替換?檢測哪個字符串被替換爲php

換句話說,我有類似以下

$subject = str_replace($search, $replace, $subject, $count); 

$search$replace都陣列的呼叫。如果$count > 0我想找出哪些字符串被替換,並與他們做些什麼。是這樣的可能嗎?有沒有這樣的功能?我應該重寫我的代碼嗎?

+1

那麼,在這種情況下,'$ subject'是一個單一字符串,'$ search'必須給予一個值的時間提前,讓你知道什麼已經如果'$ count> 0'找到並替換。 –

+0

@the_pete儘管我的$ search和$ replace都是數組。如果我正確理解[documentation](http://php.net/manual/en/function.str-replace.php),我不應該知道哪些元素被count單獨替換。 – mcon

回答

0

一種可能的方法是array_diff()

$str = array('something to rplace', 'anything else', 'sth else', 'one more'); 
$str2 = $str; 

$str = str_replace($search, $replace, $str, $count); 

var_dump(array_diff($str2, $str)); 
+0

謝謝,我不知道爲什麼我沒有想到這樣的事情。我的主題是一個字符串,但不是一個數組,但這沒什麼'爆炸()'無法修復。 – mcon