Re: array_key_exists with float keys (bug #60039)
| From: | Etienne Kneuss | Date: | Fri, 18 Nov 2011 16:13:59 +0000 |
| Subject: | Re: array_key_exists with float keys (bug #60039) | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-56398@lists.php.net to get a copy of this message | ||
Hi,
On Fri, Nov 18, 2011 at 16:41, Nikita Popov <nikita.ppv@googlemail.com> wrote:
> *push*
>
> On Fri, Nov 11, 2011 at 10:40 PM, Nikita Popov
> <nikita.ppv@googlemail.com> wrote:
>> Hi internals!
>>
>> I'd like to get some attention to bug #60039 [1]. It is about the
>> behavior of array_key_exists with "unusual" keys like floats, bools
>> and resources. Currently array_key_exists throws a warning if such a
>> key is passed. isset() on the other hand (and native array accesses in
>> general) treat them as valid keys, with floats being converted to ints
>> and bools and resources treated just like ints.
>>
>> I would like to see array_key_exists behave consistent with
>> isset($array[$key]) / $array[$key]. The bug has a patch attached that
>> does this.
>>
>> I don't think that this change has any BC impact as it only *removes* warnings.
To me, it feels similar to the Array->String conversion:
It is one of those implicit conversions that is almost always indicating a bug.
Therefore I would rather have both throw warnings than none of them.
So -1 from me for the proposed unification.
>>
>> Nikita
>>
>> [1]: https://bugs.php.net/bug.php?id=60039
>>
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
--
Etienne Kneuss
http://www.colder.ch