#27142 [Opn->Bgs]: Inconsistent comparing
| From: | sniper@php.net | Date: | Thu, 05 Feb 2004 00:29:56 +0000 |
| Subject: | #27142 [Opn->Bgs]: Inconsistent comparing | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-54420@lists.php.net to get a copy of this message | ||
ID: 27142
Updated by: sniper@php.net
Reported By: tomas dot matousek at matfyz dot cz
-Status: Open
+Status: Bogus
Bug Type: Zend Engine 2 problem
Operating System: WinXP
PHP Version: 5.0.0b3 (beta3)
New Comment:
See http://www.php.net/asort and notice the 2nd option for
this
function. Then see http://www.php.net/sort what values it
accepts. Then
try those values. Then fix your own compare function.
Previous Comments:
------------------------------------------------------------------------
[2004-02-04 06:54:13] tomas dot matousek at matfyz dot cz
Description:
------------
The way in which elements of an array are compared is inconsistent.
Reproduce code:
---------------
$a = $c = array("101a","100","6");
$b = $d = array("100","6","101a");
// standard comparison:
$f = create_function('$a,$b','return ($a<$b) ? -1:($a>$b ?
+1:0);');
asort($a);
asort($b);
uasort($c,$f);
uasort($d,$f);
print_r($a);
print_r($b);
print_r($c);
print_r($d);
Expected result:
----------------
Than I would expect all 'print_r' print arrays with the same order of
values.
I would expect that items implicitly converted into numbers during
comparison should precede those of type string.
Actual result:
--------------
Array
(
[2] => 6
[1] => 100
[0] => 101a
)
Array
(
[2] => 101a
[1] => 6
[0] => 100
)
Array
(
[2] => 6
[1] => 100
[0] => 101a
)
Array
(
[2] => 101a
[1] => 6
[0] => 100
)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27142&edit=1