如何在PHP中搜索和替换整个多级数组?比如:
$a = array(
'level1' => array(
'level2' => array(
'level3' => 'foo'
)
'level2b' => array(
'level3b' => 'foo'
)
);
因此,将"foo"替换为"bar"。
背景:我不得不在一个WordPress博客的序列化数组上做这件事,因为我们要把这个博客移到另一个目录名。
使用array_walk_recursive
非常简单
array_walk_recursive($a, function (&$val) {
$val = str_replace('foo', 'bar', $val);
});
print_r($a);
只需确保使用引用(&$val
)。
演示:http://codepad.viper-7.com/7L33Fg