Hi Stas and Nikita, On Wed, Jun 10, 2015 at 5:30 PM, Nikita Popov <nikita....@gmail.com> wrote:
> On Wed, Jun 10, 2015 at 8:53 AM, Stanislav Malyshev <smalys...@gmail.com> > wrote: > >> Hi! >> >> > <?php >> > $foo = 42; >> > $foo['bar']; // => NULL >> > $v = NULL; >> > $v[0][1][2][3][4][5][6][7][8][9]; // NULL >> > >> > this code is semantically wrong and I would like to have error/exception >> > for such >> > erroneous codes. It's inconsistent with array object, too. >> >> Why it's wrong? You try to get that's something not there, you get NULL. >> I don't see anything wrong. Adding fatal error about every little thing >> that isn't as expected never was how PHP worked. > > > I agree with what other people have said here: We should keep the behavior > for NULL, but drop the nonsense for other types - (42)[24] not throwing a > notice is quite ridiculous, that seems like a pretty obvious bug to me. > I agree that NULL is debatable. In PHP, NULL is treated as 0/false by its context. It's simpler if we get rid of the behavior altogether. IMO. Anyway, removing undefined behavior from other types may be good enough so I don't insist. Regards, -- Yasuo Ohgaki yohg...@ohgaki.net