1

我有这个代码:

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

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

为什么会这样,我如何得到预期的结果array('foo=2', 'bar=5')

4

1 回答 1

3

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

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

另请注意,引用值本身应更改(此处无需返回,仅$v更改事项)

于 2013-08-13T10:14:19.833 回答