Bug #12596 Updated: Definition of array using constants in array doesn't work

From: Date: Tue, 02 Oct 2001 22:34:03 +0000
Subject: Bug #12596 Updated: Definition of array using constants in array doesn't work
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-67143@lists.php.net to get a copy of this message
ID: 12596
Updated by: sniper
Reported By: jack@mobil.cz
Old Status: Feedback
Status: Bogus
Bug Type: Class/Object related
Operating System: Linux
PHP Version: 4.0.5
New Comment:

Not a bug -> Bogus.

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

[2001-08-06 15:27:23] jeroen@php.net

This isn't supposed to work (class-var initing is not allowed for non-scalar (for example
array) values).

It is funny that it turns out to work this way, a parse-error would be better IMO.

But it is not a bug, changing status to feedback.

It is in the manual somewhere that this isn't allowed, try language -> classes and object

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

[2001-08-06 09:41:56] jack@mobil.cz

The following piece of code doesn't work:

<?
    define ('A', 20);

    class B
    {
	var $a = array(A => 10);
    }

    $b = new B();
    var_dump($b);
?>

It produces:

object(b)(1) {
  ["a"]=>
  array(1) {
    ["A"]=>
    int(10)
  }
}

which is unexpected (at least for me).

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



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



Thread (6 messages)

« previous php.dev (#67143) next »