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; }
);

また、参照する値自体を変更する必要があることに注意してください (ここでは return は必要ありません。$v変更するだけです) 。

于 2013-08-13T10:14:19.833 に答える