Array dereferencing of scalars
| From: | Christoph Becker | Date: | Mon, 08 Jun 2015 21:11:54 +0000 |
| Subject: | Array dereferencing of scalars | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-86510@lists.php.net to get a copy of this message | ||
The behavior of dereferencing scalars as if they were arrays or strings
is arguable:
<?php
$foo = 42;
$foo['bar']; // => NULL
This happens without notice or warning, whereas the array dereferencing
of objects results in a fatal error:
<?php
$foo = new stdClass;
$foo['bar']; // Fatal error: Cannot use object of type stdClass as array
There are several bug reports and feature requests regarding this
behavior, the most interesting being #54556[1] and #64194[2]. The
former has a patch attached, for the latter there is a PR[3].
Would throwing a notice or a warning on array deferencing scalars
be acceptable for PHP 7.0, or does this need an RFC?
[1] <https://bugs.php.net/bug.php?id=54556>
[2] <https://bugs.php.net/bug.php?id=64194>
[3] <https://github.com/php/php-src/pull/1269>
--
Christoph M. Becker