#25359 [Asn->Csd]: array_multisort() doesn't work in a function if array is global or reference
| From: | dmitry@php.net | 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