Edit report at https://bugs.php.net/bug.php?id=67750&edit=1
ID: 67750
Updated by: [email protected]
Reported by: ralph-bugsphpnet at inputplus dot co dot uk
Summary: Subscript Operator claims empty brackets invalid for
string
Status: Open
Type: Bug
Package: PHP Language Specification
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
"" is a tricky case because in this case $a is converted to array. So strictly speaking [] is not applied to a string, it applies to an array, to which empty string is auto-converted.
Previous Comments:
------------------------------------------------------------------------
[2014-08-02 16:16:45] ralph-bugsphpnet at inputplus dot co dot uk
Description:
------------
https://github.com/php/php-langspec/blob/master/spec/10-expressions.md#subscript-operator says
*expression* can be omitted only if *subscript-expression* is used in a
modifiable-lvalue context and *postfix-expression* does not designate a
string.
Yet this is valid:
$a = ""; $a[] = "y"; var_dump($a);
I've omitted expression, postfix-expression is a string, just an empty one.
The result is array("y"); the original empty string disappears.
See http://3v4l.org/vg7Oe for more.
Test script:
---------------
<?php
$a = ""; $a[] = "y"; var_dump($a);
$b = "x"; $b[] = "y"; var_dump($b);
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=67750&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.