2012-04-18 80 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