ID: 39242 Updated by: [EMAIL PROTECTED] Reported By: z_rules55 at hotmail dot com -Status: Open +Status: Bogus Bug Type: Class/Object related Operating System: WinXP PHP Version: 5.1.6 New Comment:
Yes, this is expected behaviour. Previous Comments: ------------------------------------------------------------------------ [2006-10-23 20:30:01] z_rules55 at hotmail dot com Description: ------------ I would have thought that I could declare a static array in a class with an index in the declaration, but I can't. I must instead use array() to specify the desired index and value. Nowhere in the docs, that I could find, does it say that you can't specify an index in a static array declaration. I saw in another bug that PHP does not allow the use of variable data at compile time, and I guess since static variables are dealt with at compile time, you can't be assigning data to a variable index. But even if the index is define()ed beforehand, it still doesn't work. Reproduce code: --------------- <?php define('INDEX', 'index'); class myclass { // Does not with either the string 'index' or // the constant INDEX. public static $variable['index'] = 'some value'; //public static $variable = array('index' => 'some value'); This does work. } echo myclass::$variable['index']; ?> Expected result: ---------------- some value Actual result: -------------- Parse error: parse error, unexpected '[', expecting ',' or ';' in ... on line 6 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39242&edit=1