2012-04-18 71 views
2

循環說我有在PHP這樣通過陣列更新值PHP

$info['name'] = 'test %value%'; 
$info['city'] = 'city test %value%'; 
$info['other'] = '%value% city test'; 

所有我想要做的就是遍歷這個數組,並用提供的字符串替換%值%所有實例的數組,節約它進入相同的數組。

什麼是最好的方法來做到這一點? :)

感謝

回答

11
foreach ($info as $key => $value) 
    $info[$key] = str_replace('%value%', 'MyValue', $value); 

演示:http://ideone.com/65F3L

+0

如果您只想替換整個$值等於您的搜索條件的實例,而不是strong中的實例,那麼只需將第二行包裝在:if($ value ==「%value%」){ – 2016-08-01 14:10:39

2

這似乎是對我最乾淨的方式,但它需要PHP 5.3或更高版本:

$info = array_map(function($x) use ($newValue){ 
    return str_replace('%value%', $newValue, $x); 
}, $info); 

Codepad