Bug #71614 [Fbk->NoF]: echo "${str{1}}"; raises syntax error
| From: | php-bugs at lists dot php dot net | Date: | Sun, 28 Feb 2016 04:22:26 +0000 |
| Subject: | Bug #71614 [Fbk->NoF]: echo "${str{1}}"; raises syntax error | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-13221@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=71614&edit=1
ID: 71614
Updated by: php-bugs@lists.php.net
Reported by: yohgaki@php.net
Summary: echo "${str{1}}"; raises syntax error
-Status: Feedback
+Status: No Feedback
Type: Bug
Package: Documentation problem
Operating System: irrelevant
PHP Version: Irrelevant
Private report: N
New Comment:
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
Previous Comments:
------------------------------------------------------------------------
[2016-02-19 05:53:00] yohgaki@php.net
Thanks. I didn't think of $$.
We may improve the doc
http://jp2.php.net/manual/en/language.types.string.php
{$} for variable expression, ${} for variable name resolution and few more examples invalid
expressions.
------------------------------------------------------------------------
[2016-02-18 23:07:50] stas@php.net
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.
------------------------------------------------------------------------
[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