re: Refering to an object from within an array variable in another class
| From: | Javier Montserat | Date: | Tue, 03 Sep 2002 16:27:09 +0000 |
| Subject: | re: Refering to an object from within an array variable in another class | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-115043@lists.php.net to get a copy of this message | ||
Hi,
Syntax B doesnt seem to work exactly because as you say "it doesn't directly access the 'bars' variable...";
here...
$reference_to_bar = $this->GetBar($id) ;
it seems that a copy of the bar object is being created, which is a new object. This new bar object is not related to the bar object which is a part of the $bars array property of the foo object.
When you set the marklar property to the new value ...
$reference_to_bar->SetMarklar($value) ;
the value is changed for the new copy of the bar object you have just created. Because this value is assigned to the new object it doesn't appear when you print the contents of foo. This is illustrated by the lines i've added below.
Maybe after setting the new property value you could reassigned this object to the $bars array of object foo.
I'm no expert but it's always fun to play with code...
Hope this helps in some way,
Javier
/*
But this syntax doesn't: and this
would be prefered, as it doesn't directly
access the 'bars' variable...
*/
$reference_to_bar = $this->GetBar($id) ;
echo $reference_to_bar->marklar;
$reference_to_bar->SetMarklar($value) ;
echo $reference_to_bar->marklar;
print_r($reference_to_bar);
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com