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

Reply via email to