Varsayılan olarak PHP5 OOP objects are passed by reference'un belgelendiği iyi belgelenmiştir. Bu varsayılan olarak, bana referans ile kopyalamak için varsayılan bir yolu yoktur, nasıl görünüyor? Bu noktada Referans olmadan bir nesnenin kopyası nasıl oluşturulur?
function refObj($object){
foreach($object as &$o){
$o = 'this will change to ' . $o;
}
return $object;
}
$obj = new StdClass;
$obj->x = 'x';
$obj->y = 'y';
$x = $obj;
print_r($x)
// object(stdClass)#1 (3) {
// ["x"]=> string(1) "x"
// ["y"]=> string(1) "y"
// }
// $obj = refObj($obj); // no need to do this because
refObj($obj); // $obj is passed by reference
print_r($x)
// object(stdClass)#1 (3) {
// ["x"]=> string(1) "this will change to x"
// ["y"]=> string(1) "this will change to y"
// }
Ben orijinal
$obj
olmak
$x
isterdik ancak tabii ki değil. Bunu yapmak ya da ben böyle okumalısınız Yani
like this
Çok yardımcı oldu. lonesomeday, '__clone()' sihirli yöntemiyle ilgili çok iyi bir nokta yapar; bazı sınıflar da uygulanmaya değerdir, bu da dikkat çekicidir. – Treffynnon