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/



--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to