str_replace,主题为关联数组

时间:2012-09-05 13:03:47

标签: php php-5.2

我有一个干草堆是一个关联数组:

$array['header']['title'] = 'MyTitle';
$array['header']['subtitle'] = 'MySubtitle';
$array['body'] = 'MyBody';

我希望用“你的”替换每次出现的“我的” 我正在尝试这样的事情:

$new_array = str_replace('My', 'Your', $array);

可悲的是,它仅适用于第一级(即body键) 有什么不对的吗?有解决方法吗?

3 个答案:

答案 0 :(得分:4)

array_walk_recursive($array, 'replaceMy');

function replaceMy(&$item) {
    str_replace('My', 'Your', $item);
}

答案 1 :(得分:3)

试试这个:array_walk_recursive

答案 2 :(得分:0)

如果您的关联数组未知,则必须使用递归方法来完成它并在值为字符串时进行替换。

否则,请使用更多来电:

$new_array = str_replace('My', 'Your', $array);
$new_array = str_replace('My', 'Your', $array['header']);