2013-02-05 58 views
0
<?php 
$array1 = array(
       1 => "Lorem ipsum w1 lorem ipsum", 
       2 => "Lorem ipsum w1 lorem ipsum", 
       3 => "Lorem ipsum w1 lorem w1 ipsum", 
       4 => "Lorem ipsum w1 lorem ipsum", 
       5 => "Lorem ipsum w1 lorem ipsum", 
       ); 
?> 

我如何與另一個詞取代「W1」,「W2」,然後生成一個新的數組像如何與另一個

<?php 
    $array1 = array(
       1 => "Lorem ipsum w2 lorem ipsum", 
       2 => "Lorem ipsum w2 lorem ipsum", 
       3 => "Lorem ipsum w2 lorem w2 ipsum", 
       4 => "Lorem ipsum w2 lorem ipsum", 
       5 => "Lorem ipsum w2 lorem ipsum", 
       ); 
?> 

回答

5
$res = array(); 
foeach($array1 as $key=>$val){ 
    $res[$key] = str_replace("W1","W2",$val); 
} 

print_r($res); 

替換一個數組的價值的話,請參考this有關str_replace的詳細信息

+0

你可以跳過$水庫[$關鍵]部分,只需使用$ VAL如果你的foreach爲$ key =>&$ val。 – Ozzy

4

您可以使用str_replacepreg_replace執行此操作,具體取決於您需要多少功能。

這兩個函數接受數組作爲其$subject說法,所以它可能是那樣簡單

$array1 = array(...); // strings with "w1" 
$array1 = str_replace('w1', 'w2', $array1); 
+0

我不會推薦像這樣的簡單任務使用'preg_replace'。 – Peon

+0

@DainisAbols:準確的簡單任務是什麼?很明顯''w1「'=>'」w2「'只是一個例子。也許在現實生活中,需要正則表達式'\ bw1 \ b'? – Jon