我有这段代码:
array_walk(
array('foo' => 2, 'bar' => 5, ...),
function ($v, $k) { return $k . '=' . $v; }
);
但在此之后,剩下的就是array(2, 5)
。
为什么会出现这种情况,如何获得array('foo=2', 'bar=5')
的预期结果?
答案 0 :(得分:3)
通过引用传递您的值,例如
$rgData = array('foo' => 2, 'bar' => 5);
array_walk(
$rgData,
function (&$v, $k) { $v = $k . '=' . $v; }
);
另请注意,引用值本身应该更改(此处不需要返回,只有$v
更改事项)