Re: array_key_exists BC break

From: 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.

« previous php.internals (#41357) next »