[2002年05月27日 06:31 UTC] nohn@php.net 
 Example script:
<?php 
function cmp ($x, $y){
 $c = (int) $x;
 $d = (int) $y;
 if($c == $d) return 0;
 return ($c > $d) ? 1 : -1;
}
$arr = array(1, 3, 2, 10, 9);
//print_r($arr);
var_dump($arr);
sort($arr, SORT_NUMERIC);
var_dump($arr);
//reset($arr);
echo "<br><br>";
print_r($arr);
/*srand((float)microtime()*1000000);
shuffle($arr);
echo "<br><br>";
print_r($arr);*/
?>
########################################################
PHP Version 4.0.6
SunOS xxxxxxx 5.7 Generic_106541-15 sun4us sparc FJSV,GPUS
'./configure' '--prefix=/usr/local' '--with-apache=/usr/local/Apachetoolbox-1.5.34/apache_1.3.20' '--enable-exif' '--enable-track-vars' '--with-calendar=shared' '--enable-safe-mode' '--enable-magic-quotes' '--enable-trans-sid' '--enable-wddx' '--enable-ftp' '--with-oci8' '--with-mysql=/usr/local/mysql' 
########################################################
array(5) {
 [0]=>
 int(1)
 [1]=>
 int(3)
 [2]=>
 int(2)
 [3]=>
 int(10)
 [4]=>
 int(9)
}
array(5) {
 [0]=>
 int(1)
 [1]=>
 int(2)
 [2]=>
 int(3)
 [3]=>
 int(9)
 [4]=>
 int(10)
}
Array
(
 [0] => 1
 [1] => 2
 [2] => 3
 [3] => 9
 [4] => 10
)
So sorting works fine on PHP 4.0.6 on Solaris
########################################################
PHP Version 4.2.0
OSF1 xxxxx V4.0 1530 alpha
'./configure' '--prefix=/usr/local' '--with-apache=/usr/local/Apachetoolbox-1.5.56/apache_1.3.24' '--enable-exif' '--enable-track-vars' '--with-calendar=shared' '--enable-safe-mode' '--enable-magic-quotes' '--enable-trans-sid' '--enable-wddx' '--enable-ftp' '--with-openssl=/usr/local' '--with-oci8=/appl/oracle/product/8.1.6' '--with-mysql=/usr/local/mysql'
########################################################
array(5) {
 [0]=>
 int(1)
 [1]=>
 int(3)
 [2]=>
 int(2)
 [3]=>
 int(10)
 [4]=>
 int(9)
}
array(5) {
 [0]=>
 int(1)
 [1]=>
 int(3)
 [2]=>
 int(2)
 [3]=>
 int(10)
 [4]=>
 int(9)
}
Array
(
 [0] => 1
 [1] => 3
 [2] => 2
 [3] => 10
 [4] => 9
)
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits  
  | 
 ||||||||||||||||||||||||||||||||||||
This bug still exists in the 4.2.3RC1 version on Compaq Tru64 (OSF1 xxxxxxx V5.1 1885 alpha): My very simple test case: $ar1 = array("k","i","f","o","p","b"); print "unsorted ar1:"; print_r($ar1); reset($ar1); sort($ar1); print "sorted ar1"; print_r($ar1); The results: unsorted ar1:Array ( [0] => k [1] => i [2] => f [3] => o [4] => p [5] => b ) sorted ar1Array ( [0] => k [1] => i [2] => f [3] => o [4] => p [5] => b ) The configure options, taken from further installation on this machine: ./configure --with-mysql --with-xml --enable-ftp --with-pcre \ --with-gd=/usr/local --with-png-dir=/usr/local \ --with-zlib=/usr/local --with-freetype --with-sessions \ --enable-trans-sid --enable-memory-limit Sorry, but I don't understand why this bug is declared as "closed", although sorting doesn't work in this release candicate. :-(