$a = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => array(
'key4' => 'value4',
'key5' => array(
'key6' => 'value6'
)
)
);
你可以看到$a里面有内部数组
key1
key4
key6
我需要一个脚本来搜索这些键是否存在,如果存在则更改它们的值.
我需要用base64_encode更改它们的值($value_of_the_key)
所以也许是一个回调,它获取当前值并使用base64_encode()函数转换它.
有人帮我吗?
谢谢
编辑:
使用以下代码我可以获得回调中的键….但问题是:
如何直接修改数组中的值?我的意思是……好吧……我得到了键和值,但是如何更改原始数组中的值? ($A)
$a = array(
'key1' => 'value1',
'key2' => 'value2',
'key3' => array(
'key4' => 'value4',
'key5' => array(
'key6' => 'value6'
)
)
);
function test($item, $key)
{
echo "$key. $item<br />\n";
}
array_walk_recursive($a, 'test');
解决方法:
提供回调的array_walk_recursive()应该有帮助.更多信息here.