Re: Array key access on non-array values - to be made illegal?
| From: | Ivan Enderlin | Date: | Tue, 12 Apr 2016 13:01:39 +0000 |
| Subject: | Re: Array key access on non-array values - to be made illegal? | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-92223@lists.php.net to get a copy of this message | ||
Hello Marco,
Actually, you are trying to access to something that does not exist, so you get a null value. This part is logical. However, yes, a notice would be welcomed except it may be skipped for historical reasons I reckon. Probably to work well with
isset or similar scenario.
Cheers.
On 12/04/16 14:59, Marco Pivetta wrote:
Hello,
I just stumbled upon behavior that seems to "fail silently" regardless of
its very questionable validity:
<?php
$a = 1;
var_dump($a[123]); // NULL, no notice
https://3v4l.org/b3rDr
Are there specific reasons why no notice is thrown? Is it by design? If so,
does anyone remember why?
I haven't checked if this affects other types too. I know that an
assignment to an array key of a non-array would cause a cast of the value
to array, but a mere read operation should surely cause a notice to be
raised in the above scenario.
Cheers,
Marco Pivetta
http://twitter.com/Ocramius
http://ocramius.github.com/