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

From: Date: Fri, 02 Nov 2001 22:38:39 +0000
Subject: Bug #13912: Array index references inside double quotes cause parse errors
Groups: php.dev 
Request: Send a blank email to php-dev+get-69548@lists.php.net to get a copy of this message
From: dshearin@e-clecticity.net Operating system: Redhat Linux - Kernel 2.4.12 PHP version: 4.0.6 PHP Bug Type: Arrays related Bug description: Array index references inside double quotes cause parse errors 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 bug report at: http://bugs.php.net/?id=13912&edit=1

« previous php.dev (#69548) next »