Hey:
On Sat, Jan 17, 2015 at 8:20 AM, Rasmus Lerdorf <ras...@lerdorf.com> wrote: > On 01/16/2015 03:54 PM, Simon J Welsh wrote: >> That’s an invalid comparison function. It causes the current usort to >> reverse sort the array and I see no problem with that changing (you’re >> saying that a value for $a less than $b is in fact greater than it, and a >> value of $b less than or equal to $a is equal to it). > > Your didn't make much sense. But yes, I am aware it is a weird > comparison function taken from an existing app which is now broken under > PHP7 but it only breaks if the array grows beyond 16 elements. > If we are going to make a BC change here, it shouldn't be in a way that > is dependent on the size of the array being sorted. I suggest you use : function cmp($a,$b) { return strtotime($a['date']) - strtotime($b['date']); } as our usort doc said: "The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second." otherwise, it's not a defined behavior thanks > > -Rasmus > > -- Xinchen Hui @Laruence http://www.laruence.com/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php