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.")"; } ?>
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php