Anyone's thoughts on this? I'm thinking of re-reverting in 48 hours without further objections.
Moriyoshi On Sun, Feb 15, 2009 at 11:48 PM, Moriyoshi Koizumi <m...@mozo.jp> wrote: > Ilia Alshanetsky wrote: >> I've discussed this issue with Andrei at least a month ago (if not >> longer) when the patch was originally added, and I believe that the >> introduced behavior is the correct one. > > IMO correct or not depends on the context where the function is used. > > At least, as array_unique() was not capable of dealing with objects > before the Andrei's patch, every existing code should use it with > strings, not objects. > > If SORT_REGULAR could handle objects as well as strings in the same > manner as SORT_STRING I wouldn't see any problem, although it cannot. > > Moriyoshi > > >> >> On 14-Feb-09, at 9:12 PM, Moriyoshi Koizumi wrote: >> >>> So, what are RM's thoughts on this? My points are: >>> >>> 1. Making SORT_REGULAR default *actually* broke existing code. >>> 2. Adding the second argument addressed the problem enough that the >>> elements are treated indifferently when used with objects. >>> >>> Regards, >>> Moriyoshi >>> >>> Moriyoshi Koizumi wrote: >>>> Whatever reasoning, I don't think it's a good idea to revert someone >>>> else's patch before discussing anything. >>>> >>>> Aside from this, I agree with you the old behavior is that stupid, but >>>> BC should always be honored. >>>> >>>> Moriyoshi >>>> >>>> Andrei Zmievski wrote: >>>>> Don't do this please. Why did you feel the need to go back and >>>>> change my >>>>> patch including the NEWS entry? I knew what I was doing when I set the >>>>> default behavior to SORT_REGULAR and this was discussed with both 5.3 >>>>> and 5.2 RMs. With your change it'l back to the stupid old behavior of: >>>>> >>>>> $array = array(new stdClass(), new stdClass(), new Foo()); >>>>> $array = array_unique($array); >>>>> >>>>> And now $array has only 1 element. I really hate having tell PHP not to >>>>> be stupid, rather than having it default to being smart. >>>>> >>>>> I'm going to revert this. >>>>> >>>>> -Andrei >>>>> >>>>> Moriyoshi Koizumi wrote: >>>>>> moriyoshi Thu Feb 12 18:29:15 2009 UTC >>>>>> >>>>>> Modified files: /php-src/ext/standard array.c >>>>>> Log: >>>>>> * Fix bug #47370 (BC breakage of array_unique()) >>>>>> >>>>>> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.471&r2=1.472&diff_format=u >>>>>> >>>>>> >>>>>> Index: php-src/ext/standard/array.c >>>>>> diff -u php-src/ext/standard/array.c:1.471 >>>>>> php-src/ext/standard/array.c:1.472 >>>>>> --- php-src/ext/standard/array.c:1.471 Mon Feb 9 10:47:19 2009 >>>>>> +++ php-src/ext/standard/array.c Thu Feb 12 18:29:15 2009 >>>>>> @@ -21,7 +21,7 @@ >>>>>> >>>>>> +----------------------------------------------------------------------+ >>>>>> >>>>>> */ >>>>>> >>>>>> -/* $Id: array.c,v 1.471 2009/02/09 10:47:19 dmitry Exp $ */ >>>>>> +/* $Id: array.c,v 1.472 2009/02/12 18:29:15 moriyoshi Exp $ */ >>>>>> >>>>>> #include "php.h" >>>>>> #include "php_ini.h" >>>>>> @@ -2924,7 +2924,7 @@ >>>>>> }; >>>>>> struct bucketindex *arTmp, *cmpdata, *lastkept; >>>>>> unsigned int i; >>>>>> - long sort_type = PHP_SORT_REGULAR; >>>>>> + long sort_type = PHP_SORT_STRING; >>>>>> >>>>>> if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|l", >>>>>> &array, &sort_type) == FAILURE) { >>>>>> return; >>>>>> >>>>>> >>>>>> >>>> >>>> >>> >> >> Ilia Alshanetsky >> >> >> >> > > > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php