#25359 [Asn->Fbk]: array_multisort doen't work in a function if array is global or reference
| From: | derick@php.net | Date: | Tue, 07 Jun 2005 13:52:21 +0000 |
| Subject: | #25359 [Asn->Fbk]: array_multisort doen'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-80004@lists.php.net to get a copy of this message | ||
ID: 25359
Updated by: derick@php.net
Reported By: matschek at gmx dot de
-Status: Assigned
+Status: Feedback
Bug Type: Scripting Engine problem
Operating System: *
PHP Version: 5CVS, 4CVS (2005-03-09)
Assigned To: derick
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2005-04-25 15:13:05] tianlin dot wang at sas dot com
This bug was reported in 2003. It still exists in today's
latest version v5.0.4.
------------------------------------------------------------------------
[2005-04-25 10:05:51] sniper@php.net
See also bug #32817 (uses references)
------------------------------------------------------------------------
[2004-12-17 10:03:10] matschek at gmx dot de
Now again the same behavior as of start:
function does_work works, function does_not_work does not.
------------------------------------------------------------------------
[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