3

我有一个这样的数组:

$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');
4

1 回答 1

5

array_walk_recursive()提供回调应该会有所帮助。更多信息在这里

于 2012-08-10T10:44:11.190 回答