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 <larue...@gmail.com>         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: signature.asc
Description: OpenPGP digital signature

Reply via email to