|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[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
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 20:00:01 2025 UTC |
php4-200205280000.tar.gz doesn't compile here: % configure --prefix=/Team/local [...] gcc -Imain/ -I/Team/local/src/php4-200205280000/main/ -DPHP_ATOM_INC -I/Team/local/src/php4-200205280000/include -I/Team/local/src/php4-200205280000/main -I/Team/local/src/php4-200205280000 -I/Team/local/src/php4-200205280000/Zend -I/Team/local/src/php4-200205280000/ext/xml/expat -I/Team/local/src/php4-200205280000/TSRM -g -O2 -c /Team/local/src/php4-200205280000/main/user_streams.c -o main/user_streams.o && echo > main/user_streams.lo In file included from /usr/local/lib/gcc-lib/alphaev6-dec-osf4.0f/2.95.2/include/stdarg.h:36, from /Team/local/src/php4-200205280000/Zend/zend.h:59, from /Team/local/src/php4-200205280000/main/php.h:34, from /Team/local/src/php4-200205280000/main/user_streams.c:22: /usr/local/lib/gcc-lib/alphaev6-dec-osf4.0f/2.95.2/include/va-alpha.h:36: warning: redefinition of `va_list' /usr/local/lib/gcc-lib/alphaev6-dec-osf4.0f/2.95.2/include/va_list.h:7: warning: `va_list' previously declared here Make: Don't know how to make /zend_language_parser.c. Stop. Zend/zend_language_parser.c exists, but the Makefile searches for /zend_language_parser.c and several other files in /.Still does not sort with php4-STABLE-200206070600. bash-2.01$ php <?php $a = array(9,7,3,5); sort($a); print_r($a); ?> X-Powered-By: PHP/4.2.2-dev Content-type: text/html Array ( [0] => 9 [1] => 7 [2] => 3 [3] => 5 )Thanks, I didn't know that. With php4-200206070600, sort() works again, so this bug is solved: bash-2.01$ ./php Unaligned access pid=24680 <php> va=0x14005d27c pc=0x1201ad760 ra=0x1201ad754 inst=0xb4010000 <?php $a = array(9,7,3,5); sort($a); print_r($a); ?> X-Powered-By: PHP/4.3.0-dev Content-type: text/html Array ( [0] => 3 [1] => 5 [2] => 7 [3] => 9 ) I had some problems compiling it on Tru64, though, and the "unaligned access" doesn't look especially pretty, too. I will open a new bug report for these (if nobody else did). Thank you for your help!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. :-(