I think this broke usort() of more than 16 elements.
eg.
<?php
$pr = [ [ 'id' => 'aaa', 'date' => 'Oct 8, 2006' ],
[ 'id' => 'bbb', 'date' => 'Nov 14, 2008'],
[ 'id' => 'ccc', 'date' => 'Dec 19, 2014'],
[ 'id' => 'ddd', 'date' => 'Feb 4, 2010'],
[ 'id' => 'eee', 'date' => 'Jul 7, 2013'],
[ 'id' => 'fff', 'date' => 'Mar 6, 2002'],
[ 'id' => 'ggg', 'date' => 'Mar 1, 2001'],
[ 'id' => 'hhh', 'date' => 'Aug 8, 1999'],
[ 'id' => 'iii', 'date' => 'Sep 5, 2007'],
[ 'id' => 'jjj', 'date' => 'Apr 13, 2004'],
[ 'id' => 'kkk', 'date' => 'Mar 6, 1996'],
[ 'id' => 'lll', 'date' => 'Mar 6, 1997'],
[ 'id' => 'mmm', 'date' => 'Mar 6, 1998'],
[ 'id' => 'nnn', 'date' => 'Mar 6, 1999'],
[ 'id' => 'ooo', 'date' => 'Mar 7, 1996'],
[ 'id' => 'ppp', 'date' => 'Mar 7, 1997'],
[ 'id' => 'qqq', 'date' => 'Mar 7, 2002']
];
function cmp($a,$b) {
return strtotime($a['date']) < strtotime($b['date']);
}
usort($pr,'cmp');
print_r($pr);
Remove the qqq element and it sorts ok.
-Rasmus
On 01/14/2015 02:02 AM, Xinchen Hui wrote:
> Commit: 2193de0d185eb9d35e4dd7b93cf69d509b0526b9
> Author: Xinchen Hui <[email protected]> Wed, 14 Jan 2015 17:22:58 +0800
> Parents: ade7a410403d7ec3fc1579bee3b890b1ce549eec
> Branches: master
>
> Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2193de0d185eb9d35e4dd7b93cf69d509b0526b9
>
> Log:
> Faster sorting algo
>
> Changed paths:
> M UPGRADING
> M Zend/Makefile.am
> M Zend/tests/methods-on-non-objects-usort.phpt
> M Zend/zend_API.c
> M Zend/zend_hash.c
> M Zend/zend_hash.h
> M Zend/zend_ini.c
> M Zend/zend_llist.c
> D Zend/zend_qsort.c
> D Zend/zend_qsort.h
> A Zend/zend_sort.c
> A Zend/zend_sort.h
> M Zend/zend_ts_hash.c
> M Zend/zend_types.h
> M configure.in
> M ext/ereg/ereg.c
> M ext/intl/collator/collator_sort.c
> M ext/phar/dirstream.c
> M ext/phar/phar_internal.h
> M ext/standard/array.c
> M ext/standard/info.c
> M ext/standard/string.c
> M ext/standard/tests/array/002.phpt
> M ext/standard/tests/array/array_intersect_variation9.phpt
> M ext/standard/tests/array/array_unique_variation8.phpt
> M ext/standard/tests/array/array_user_key_compare.phpt
> M ext/standard/tests/array/arsort_variation11.phpt
> M ext/standard/tests/array/arsort_variation3.phpt
> M ext/standard/tests/array/arsort_variation7.phpt
> M ext/standard/tests/array/arsort_variation9.phpt
> M ext/standard/tests/array/asort_variation11.phpt
> M ext/standard/tests/array/asort_variation3.phpt
> M ext/standard/tests/array/asort_variation7.phpt
> M ext/standard/tests/array/asort_variation9.phpt
> M ext/standard/tests/array/bug36975.phpt
> M ext/standard/tests/array/bug50006.phpt
> M ext/standard/tests/array/bug50006_1.phpt
> M ext/standard/tests/array/bug50006_2.phpt
> M ext/standard/tests/array/krsort_variation8.phpt
> M ext/standard/tests/array/krsort_variation9.phpt
> M ext/standard/tests/array/ksort_variation8.phpt
> M ext/standard/tests/array/ksort_variation9.phpt
> M ext/standard/tests/array/natcasesort_basic.phpt
> M ext/standard/tests/array/natcasesort_variation2.phpt
> M ext/standard/tests/array/natcasesort_variation4.phpt
> M ext/standard/tests/array/natcasesort_variation9.phpt
> M ext/standard/tests/array/rsort_variation11.phpt
> M ext/standard/tests/array/rsort_variation9.phpt
> M ext/standard/tests/array/sort_variation11.phpt
> M ext/standard/tests/array/uasort_basic2.phpt
> M ext/standard/tests/array/uasort_object2.phpt
> M ext/standard/tests/array/uasort_variation11.phpt
> M ext/standard/tests/array/uasort_variation6.phpt
> M ext/standard/tests/array/usort_variation6.phpt
> M ext/standard/tests/strings/get_html_translation_table_basic6.phpt
> M main/php.h
> M sapi/cgi/cgi_main.c
> M sapi/cli/php_cli.c
> M sapi/fpm/fpm/fpm_main.c
> M sapi/phpdbg/phpdbg_wait.c
> M win32/build/config.w32
>
>
>
Attachment: [application/pgp-signature] OpenPGP digital signature signature.asc