Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Mencipta Salinan Benar Objek dalam PHP?
Mencipta Salinan Objek dalam PHP
PHP mengendalikan rujukan objek dengan cara yang unik. Bertentangan dengan kepercayaan popular, objek diluluskan dengan rujukan, membayangkan bahawa memberikan objek kepada pembolehubah lain tidak menghasilkan salinan. Tingkah laku ini menjadi jelas apabila mengubah suai objek asal selepas tugasan.
Contoh:
Pertimbangkan coretan PHP berikut:
class A { public $b; } function set_b($obj) { $obj->b = "after"; } $a = new A(); $a->b = "before"; $c = $a; // This line creates a reference to $a, not a copy set_b($a); print $a->b; // Output: 'after' print $c->b; // Output: 'after'
Dalam ini contoh, memberikan $a kepada $c mencipta rujukan kepada $a dan bukannya salinan. Apabila fungsi set_b() mengubah suai objek $a, perubahan dicerminkan dalam kedua-dua $a dan $c.
Penyelesaian: Menggunakan Klon
PHP 5 dan kemudian menyediakan pengendali klon untuk mencipta salinan sebenar objek. Dengan menggunakan klon, anda boleh menghantar objek mengikut nilai dan memastikan bahawa pengubahsuaian kepada objek asal tidak menjejaskan salinan.
$objectB = clone $objectA; // Creates a copy of $objectA
Nota Penting:
Ia patut disebut bahawa hanya objek yang diluluskan dengan rujukan dalam PHP. Jenis data primitif (seperti integer, rentetan dan nilai boolean) sentiasa dihantar mengikut nilai.
Atas ialah kandungan terperinci Bagaimanakah Saya Mencipta Salinan Benar Objek dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!