Re: Is this a bug?!!! I cna't believe! Sorry, if im wrong...

From: Date: Sun, 30 Jan 2005 16:25:12 +0000
Subject: Re: Is this a bug?!!! I cna't believe! Sorry, if im wrong...
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-207717@lists.php.net to get a copy of this message
No news.php.net wrote:
<? class A { var $name; function A($str) { $this->name = $str; } } $arr = array(); //Put to array to objects of class A, // where their attribute A::a is assigned a different value //objects are assigned to an array by reference $a = &new A("qaz"); $arr[0] = &$a;
$arr[0] and $a reference now the same variable
$a = &new A("wsx");
by changing $a you also changed $arr[0]
$arr[1] = &$a;
now $a, $arr[0] and $arr[1] reference the same variable, they just have different names. More: http://sk.php.net/manual/en/language.variables.php http://sk.php.net/manual/en/language.references.php
//But watch the output!!! // It is "(qaz)(qaz)", which means that the attribute of a first // object assigned to array is outputted!!! WHY?!?!!! foreach($arr as $a) { echo "(".$a->name.")"; } ?>


« previous php.general (#207717) next »