Re: array_key_exists BC break
| From: | Felipe Pena | Date: | Fri, 24 Oct 2008 10:06:05 +0000 |
| Subject: | Re: array_key_exists BC break | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-41357@lists.php.net to get a copy of this message | ||
Hi Stas,
2008/10/23 Stanislav Malyshev <stas@zend.com>:
> Hi!
>
>>> I notice that 5.3 differs from 5.2 in how array_key_exists treats
>>> objects. In 5.2, if the second parameter (array) is allowed to be object
>>> and HASH_OF is applied to it. However, in 5.3 it would produce a warning
>>> requiring an array if object passed to it. Was it intentional?
>>> Maybe the problem is deeper and is in zend_parse_arg_impl where it
>>> should allow objects for 'a' if we can have HASH_OF from them?
>>
>> To my understanding, it's superseded by the function property_exists.
>> Also notice the difference of argument order.
>
> Ah, ok, missed this note, thanks.
In fact, all HASH_OF was removed in standard/array.c, and that's
already is mentioned implicitly though, as
"The functions next()/current/… don't take objects anymore as
parameters. For accessing their properties using this way you have to
cast the objects to arrays first."
--
Regards,
Felipe Pena.