|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2006-10-23 20:36 UTC] tony2001@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 18:00:02 2025 UTC |
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