Bug #13912 Updated: Array index references inside double quotes cause parse errors

From: Date: Fri, 02 Nov 2001 22:53:35 +0000
Subject: Bug #13912 Updated: Array index references inside double quotes cause parse errors
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-69549@lists.php.net to get a copy of this message
ID: 13912 Updated by: cnewbill Reported By: dshearin@e-clecticity.net Old Status: Open Status: Bogus Bug Type: Arrays related Operating System: Redhat Linux - Kernel 2.4.12 PHP Version: 4.0.6 New Comment: RTM http://www.php.net/manual/en/migration4.strings.php -Chris Previous Comments: ------------------------------------------------------------------------ [2001-11-02 17:38:38] dshearin@e-clecticity.net A parse error results when an increment or decrement operator is used in an array index that falls between double quotes. For example: <? $a = array(1 => "un", "deux", "trois", "quatre", "cinq"); $i = 1; while ($i < 5) echo "Number $i is $a[$i++]<br />"; ?> Yields -> Parse error: parse error, expecting `']'' in public_html/testarray.php on line 4 While this works fine: while ($i < 5) echo "Number $i is ". $a[$i++] ."<br />"; I think this is part of a larger issue of resolving references inside quoted array indexes. It seems an error occurs whenever using an index that's anything more complicated than a literal value or a simple variable. For example, given a function returnNumber() that simply returns whatever number you pass to it, this line produces a parse error: echo "Number 2 is $a[returnNumber(2)]<br />"; While this one prints out the translation for the number 2, as expected: echo "Number 2 is ".$a[returnNumber(2)]."<br />"; ------------------------------------------------------------------------ Edit this bug report at http://bugs.php.net/?id=13912&edit=1

« previous php.dev (#69549) next »