#25359 [Asn->Csd]: array_multisort() doesn't work in a function if array is global or reference

From: Date: Wed, 10 Aug 2005 12:03:08 +0000
Subject: #25359 [Asn->Csd]: array_multisort() doesn't work in a function if array is global or reference
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-83302@lists.php.net to get a copy of this message
ID: 25359 Updated by: dmitry@php.net Reported By: matschek at gmx dot de -Status: Assigned +Status: Closed Bug Type: Scripting Engine problem Operating System: * PHP Version: 5CVS, 4CVS (2005-07-30) Assigned To: dmitry New Comment: Fixed in CVS HEAD and PHP_5_1. Previous Comments: ------------------------------------------------------------------------ [2005-07-18 02:46:29] sniper@php.net Still verified. Dmitry, can you take a look? ------------------------------------------------------------------------ [2005-04-25 10:05:51] sniper@php.net See also bug #32817 (uses references) ------------------------------------------------------------------------ [2003-09-02 06:58:16] matschek at gmx dot de Description: ------------ When using array_multisort in a funciton, and the array is set to "global", array_multisort fails to sort the array. Reproduce code: --------------- function does_work() { $data = array('first', 'fifth', 'second', 'forth', 'third'); $sort = array(1, 5, 2, 4, 3); array_multisort($sort, $data); print_r($data); } function does_not_work() { global $data; $data = array('first', 'fifth', 'second', 'forth', 'third'); $sort = array(1, 5, 2, 4, 3); array_multisort($sort, $data); print_r($data); } echo "function does_work():\n"; does_work(); echo "\n\nfunction does_not_work():\n"; does_not_work(); Expected result: ---------------- function does_work(): Array ( [0] => first [1] => second [2] => third [3] => forth [4] => fifth ) function does_not_work(): Array ( [0] => first [1] => second [2] => third [3] => forth [4] => fifth ) Actual result: -------------- function does_work(): Array ( [0] => first [1] => second [2] => third [3] => forth [4] => fifth ) function does_not_work(): Array ( [0] => first [1] => fifth [2] => second [3] => forth [4] => third ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25359&edit=1

« previous php.bugs (#83302) next »