#30082 [Ver->Bgs]: Multidimensional arrays copy or array_multisort bug

From: Date: Mon, 18 Jul 2005 07:49:51 +0000
Subject: #30082 [Ver->Bgs]: Multidimensional arrays copy or array_multisort bug
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-82013@lists.php.net to get a copy of this message
ID: 30082 Updated by: dmitry@php.net Reported By: techtonik@php.net -Status: Verified +Status: Bogus Bug Type: Scripting Engine problem Operating System: * PHP Version: 5CVS, 4CVS (2005-06-19) New Comment: Please do not submit the same bug more than once. An existing bug report already describes this very problem. Even if you feel that your issue is somewhat different, the resolution is likely to be the same. Thank you for your interest in PHP. See bug #25359 (same reason: reference) Previous Comments: ------------------------------------------------------------------------ [2004-10-02 16:29:11] sniper@php.net See also bug #30076 ------------------------------------------------------------------------ [2004-09-14 10:39:26] techtonik@php.net Description: ------------ Seems, that multidimensional arrays are copied with one dimension, which contains references to other included arrays. I haven't found any references in manual, so this must be a bug. Reproduce code: --------------- <?php $a[0]['id'] = array(22, 12, 33, 55); $a[0]['secid'] = array("a","b","c","d"); print_r($a); $b = $a; foreach ($b as $k => $v) { array_multisort($v['id'], SORT_DESC, $v['secid'], SORT_DESC); } print_r($a); ?> Expected result: ---------------- Array ( [0] => Array ( [id] => Array ( [0] => 22 [1] => 12 [2] => 33 [3] => 55 ) [secid] => Array ( [0] => a [1] => b [2] => c [3] => d ) ) ) Array ( [0] => Array ( [id] => Array ( [0] => 22 [1] => 12 [2] => 33 [3] => 55 ) [secid] => Array ( [0] => a [1] => b [2] => c [3] => d ) ) ) Actual result: -------------- Array ( [0] => Array ( [id] => Array ( [0] => 22 [1] => 12 [2] => 33 [3] => 55 ) [secid] => Array ( [0] => a [1] => b [2] => c [3] => d ) ) ) Array ( [0] => Array ( [id] => Array ( [0] => 55 [1] => 33 [2] => 22 [3] => 12 ) [secid] => Array ( [0] => d [1] => c [2] => a [3] => b ) ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=30082&edit=1

« previous php.bugs (#82013) next »