Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Membuat Salinan Objek Bebas dalam PHP Menggunakan Operator Klon?

Bagaimana untuk Membuat Salinan Objek Bebas dalam PHP Menggunakan Operator Klon?

Susan Sarandon
Lepaskan: 2024-12-20 14:58:15
asal
417 orang telah melayarinya

How to Create Independent Object Copies in PHP Using the Clone Operator?

Mencipta Salinan Objek dalam PHP

Objek PHP secara semula jadi diluluskan melalui rujukan, menjadikan penetapan objek hanya memperuntukkan rujukan lain kepada yang asal objek. Untuk menyelesaikan isu ini dan mencipta salinan objek bebas, PHP menyediakan pengendali klon.

Sebab Melewati Rujukan

Dalam PHP, objek secara berkesan merujuk kepada kawasan ingatan mengandungi data objek. Melewati rujukan memastikan bahawa sebarang pengubahsuaian yang dibuat pada objek dalam fungsi dicerminkan dalam objek asal, mengekalkan niat asal pengaturcaraan berorientasikan objek.

Operator untuk Pengklonan Objek

Pengendali klon direka khusus untuk mencipta salinan objek. Dengan menggunakan $clonedObject = clone $originalObject, objek baharu dicipta dengan sifat dan nilai yang sama dengan objek asal. Objek klon ialah entiti bebas sepenuhnya dan sebarang perubahan yang dibuat pada mana-mana objek tidak akan menjejaskan yang lain.

Contoh Penggunaan

Pertimbangkan contoh berikut:

class A {
    public $b;
}

function set_b($obj) { $obj->b = "after"; }

$a = new A();
$a->b = "before";
$c = $a; // Assignment creates another reference to $a

set_b($a);

print $a->b; // Outputs "after"
print $c->b; // Also outputs "after"
Salin selepas log masuk

Dalam contoh ini, memberikan $a kepada $c mencipta rujukan kepada objek yang sama. Apabila set_b($a) dipanggil, perubahan dibuat pada objek asal, mempengaruhi kedua-dua $a dan $c.

Untuk mencapai hasil yang diingini, klon boleh digunakan seperti berikut:

$a = new A();
$a->b = "before";
$c = clone $a; // Creates an independent copy of $a

set_b($a);

print $a->b; // Outputs "after"
print $c->b; // Outputs "before" (not affected by changes to $a)
Salin selepas log masuk

Dalam kes ini, $c ialah objek berasingan yang tidak terjejas oleh pengubahsuaian yang dibuat kepada $a.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Salinan Objek Bebas dalam PHP Menggunakan Operator Klon?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan