php – 递归迭代数组以更改特定键的值

我有这样一个数组:

$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()函数转换它.

有人帮我吗?

我想看看当前的PHP函数,但似乎没有人做这件事.

谢谢

编辑:

使用以下代码我可以获得回调中的键….但问题是:

如何直接修改数组中的值?我的意思是……好吧……我得到了键和值,但是如何更改原始数组中的值? ($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.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...