Re: Possibilities to fix some really poor behaviors in PHP7
| From: | Julien Pauli | Date: | Tue, 14 Oct 2014 08:04:56 +0000 |
| Subject: | Re: Possibilities to fix some really poor behaviors in PHP7 | ||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-77950@lists.php.net to get a copy of this message | ||
On Tue, Oct 14, 2014 at 9:25 AM, Stas Malyshev <smalyshev@sugarcrm.com> wrote:
> Hi!
>
>> ... like the hidden array element: http://3v4l.org/6uFqf
>> ... like the hidden object property: http://3v4l.org/RPJXH
>
> The issue seems to be that array lookup always looks for numeric results
> when looking for numeric-like keys. But when adding property, the
> numeric check is not done since properties are not supposed to be
> numeric. Thus, when converting the object to array, the property named
> "123" becomes inaccessible, because in array it is supposed to be under
> number 123.
>
> We could, of course, add numeric checks to properties, but it would slow
> things down only to serve very narrow use case with hardly any legit
> uses. We could also rewrite hashtable with numeric keys instead of
> string keys when doing conversion, but again that would be significant
> slowdown for a very rare use case. Not sure it's worth it.
I agree that fixing a strange behavior - very little people know about
and very few little people use in real case - involving performance
penalty for any other use case ; should be a -1 of course.
Let's say the behavior is here "by design" ;-)
Julien.Pauli