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

Reply via email to