Re: Array key access on non-array values - to be made illegal?

From: Date: Tue, 12 Apr 2016 14:03:19 +0000
Subject: Re: Array key access on non-array values - to be made illegal?
References: 1 2 3 4  Groups: php.internals 
Request: Send a blank email to internals+get-92228@lists.php.net to get a copy of this message
On Apr 12, 2016 15:02, "Ivan Enderlin" <ivan.enderlin@hoa-project.net> wrote: > > 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. Isset works regardless, because it is implemented as a language construct. But on topic, then yes, it should emit a notice. > > 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 >

« previous php.internals (#92228) next »