Bug #71614 [Opn->Fbk]: echo "${str{1}}"; raises syntax error
Edit report at https://bugs.php.net/bug.php?id=71614&edit=1
ID: 71614
Updated by: stas@php.net
Reported by: yohgaki@php.net
Summary: echo "${str{1}}"; raises syntax error
-Status: Open
+Status: Feedback
Type: Bug
Package: Scripting Engine problem
Operating System: irrelevant
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Not sure I understand - where's the bug in here and what would you expect to happen? str{1} is
not a valid token for variable name, and is not a valid string offset operation since str is not
variable - $str is.
Previous Comments:
------------------------------------------------------------------------
[2016-02-18 03:54:26] yohgaki@php.net
@nikic
Deprecating ${} is possible resolution. One concern is ${} is common in shell scripting languages.
https://www.gnu.org/software/bash/manual/bashref.html
------------------------------------------------------------------------
[2016-02-17 09:57:52] nikic@php.net
This "bug" is best solved by deprecating the ${} interpolation syntax for non-expressions.
------------------------------------------------------------------------
[2016-02-17 04:34:32] yohgaki@php.net
Description:
------------
Both ${var} and {$var} are supposed to work, but ${$var} raises syntax error.
Test script:
---------------
php > $str = 'abc';
php > echo "${str{1}}";
PHP Parse error: syntax error, unexpected '{' in php shell code on line 1
php > echo "{$str{1}}";
b
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=71614&edit=1
Thread (4 messages)