|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2007-10-02 12:08 UTC] tony2001@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 12:00:01 2025 UTC |
Description: ------------ Using array_walk_recursive leaves references on source array. Reproduce code: --------------- $data = array ('key1' => 'val1', array('key2' => 'val2'), 'key3' =>'val3'); function foo($item, $key){} var_dump($data); array_walk_recursive($data,'foo'); var_dump($data); Expected result: ---------------- array(3) { ["key1"]=> string(4) "val1" [0]=> array(1) { ["key2"]=> string(4) "val2" } ["key3"]=> string(4) "val3" } array(3) { ["key1"]=> string(4) "val1" [0]=> array(1) { ["key2"]=> string(4) "val2" } ["key3"]=> string(4) "val3" } Actual result: -------------- array(3) { ["key1"]=> string(4) "val1" [0]=> array(1) { ["key2"]=> string(4) "val2" } ["key3"]=> string(4) "val3" } array(3) { ["key1"]=> string(4) "val1" [0]=> &array(1) { ["key2"]=> string(4) "val2" } ["key3"]=> string(4) "val3" }