ID:          21820
 Updated by:  [EMAIL PROTECTED]
 Reported By: [EMAIL PROTECTED]
-Status:      Verified
+Status:      Critical
 Bug Type:    Scripting Engine problem
 PHP Version: 4.3.0
 New Comment:

Marking as critical.  This is a serious bug as it's subtle and confuses
newbies, especially when they/we try to use autoglobals in strings. 
This bug fix really needs to make it into 4.3.1


Previous Comments:
------------------------------------------------------------------------

[2003-01-22 20:28:56] [EMAIL PROTECTED]

This bug appeared in 4.3.0 as a result of the lexer changes 
added to ZE1 and ZE2 in november to speed up 
variableinterpolation in strings.  

Previous to 4.3 this was valid:

echo "$a[b]";
but 
echo "$a['b']"; generated a parse error.

The bug manifests itself by turning this parse error into a 
non-sensical E_NOTICE error.

The patch 'fixes' the bug by making 

echo "$a['b']";

work, which has been a pending feature request and seems 
nice (to me), or at least harmless.

------------------------------------------------------------------------

[2003-01-22 19:53:20] [EMAIL PROTECTED]

Anyone remember in what version of PHP this did work? :)
Correct (?) way to do this is:

<?php

 $arr = array('foo' => 'bar');
 print "{$arr['foo']}";

?>

Or at least I've started to use that just because of this bug.



------------------------------------------------------------------------

[2003-01-22 13:56:01] [EMAIL PROTECTED]

Point was, maybe there is a reason this was not implemented.

And btw, this is a bug as 'foo' is defined yet the error says it's
not.


------------------------------------------------------------------------

[2003-01-22 13:45:54] [EMAIL PROTECTED]

this patch fixes that feature request/bug as well

------------------------------------------------------------------------

[2003-01-22 13:43:05] [EMAIL PROTECTED]

Allowing it would be nice but this topic has come up many times.  Not
sure why it's not been implemented though, maybe there are reasons?  I
forget them.

One feature request for this:
http://bugs.php.net/bug.php?id=15677


------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/21820

-- 
Edit this bug report at http://bugs.php.net/?id=21820&edit=1

Reply via email to