Guten Abend,
ich habe hier ein kleines Problem mit Referenzen auf Objekte innerhalb eines Arrays.
Mein Script ist recht umfangreich, deswegen habe ich es mal auf ein Beispiel reduziert:
Code:
#Testklasse
class test {
var $property;
function test($param) {
$this->property=$param;
}
}
#Objekte erzeugen
$objects=array();
$objects[]=new test(1);
$objects[]=new test(2);
$objects[]=new test(3);
#Objekte ausgeben
echo "<pre>";
print_r($objects);
echo"</pre>";
#Referenzen auf Objekte erzeugen
$references=array();
foreach($objects as $object) {
$references[]=&$object;
}
#Referenzen ausgeben
echo "<hr /><pre>";
print_r($references);
echo"</pre>";
Die Ausgabe hiervon ist nun
Code:
Array
(
[0] => test Object
(
[property] => 1
)
[1] => test Object
(
[property] => 2
)
[2] => test Object
(
[property] => 3
)
)
Array
(
[0] => test Object
(
[property] => 3
)
[1] => test Object
(
[property] => 3
)
[2] => test Object
(
[property] => 3
)
)
Die Referenzen zeigen also alle auf das letzte Element. Was mache ich denn da falsch? Wie müsste ich die Referenzen zuweisen sodass auch wirklich die richtigen Objekte referenziert werden?
Vielen Dank im Voraus für jeden Tip!
dms