ID: 24897
Comment by: franklin_se at hotmail dot com
Reported By: chro at sokrates dot uio dot no
Status: Assigned
Bug Type: Arrays related
Operating System: RH 9.0
PHP Version: 5.0.0b2-dev, 4.3.3RC3-dev
Assigned To: andrei
New Comment:

Yes, it might not a bug, rather a minor inconsistancy.
I must say I expected it to get reindexed as well.


Previous Comments:

[2003-08-01 07:02:48] [email][/email]

From sources:
/* If all arrays are empty or have only one entry,
we don't need to do anything. */

According to that, this is the expected behaviour.
This was for empty arrays first, but Andrei changed it
later with this commit:

array.c:r1.43 (PHP array_multisort) Fix the array_size test.

Assigning to Andrei who should decide whether the reindexing should be
done for 1 element arrays or not.


[2003-07-31 21:04:59] chro at sokrates dot uio dot no

array_multisort() will reindex the array but not if array length is 1
Produced and reproduced in php.4.3.x and up to 5.beta

Similar (but not the same) as
(different function, 12572 is sort() )

Reproduce code:

// array_multisort() will reindex the array but not if array length is
1, is
this a bug?

// array length 1

$a = array(1=>1);

// output: array(1) { [1]=> int(1) }
// first index 1, not reindexed!


// array length 2

$a = array(1=>1,2);

// output: array(2) { [0]=> int(1) [1]=> int(2) }
// first index 0, reindexed!


Expected result:
Array should be reindexed to:
output: array(1) { [0]=> int(1) }
on first attempt (where array length = 1)

Actual result:
output: array(1) { [1]=> int(1) }

array is not reindexed


Edit this bug report at [url][/url]