array_walk只留下值?

时间:2013-08-13 10:10:05

标签: php

我有这段代码:

array_walk(
    array('foo' => 2, 'bar' => 5, ...),
    function ($v, $k) { return $k . '=' . $v; }
);

但在此之后,剩下的就是array(2, 5)

为什么会出现这种情况,如何获得array('foo=2', 'bar=5')的预期结果?

1 个答案:

答案 0 :(得分:3)

通过引用传递您的值,例如

$rgData = array('foo' => 2, 'bar' => 5);
array_walk(
    $rgData,
    function (&$v, $k) { $v = $k . '=' . $v; }
);

另请注意,引用值本身应该更改(此处不需要返回,只有$v更改事项)