Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mencipta Salinan Benar Objek dalam PHP?

Bagaimanakah Saya Boleh Mencipta Salinan Benar Objek dalam PHP?

DDD
DDDasal
2024-11-28 09:40:11249semak imbas

How Can I Create True Copies of Objects in PHP?

Menyalin Objek dalam PHP: Memahami Lulus Melalui Rujukan dan Menggunakan 'Klon'

Walaupun percaya bahawa objek diluluskan melalui rujukan dalam PHP, pengendali tugasan tidak membuat salinan . Tingkah laku ini ditunjukkan dalam contoh kod berikut:

class A {
    public $b;
}

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

$a = new A();
$a->b = "before";
$c = $a;

set_b($a);

print $a->b;
print $c->b;

Dalam kes ini, kedua-dua pernyataan cetakan akan mengeluarkan "selepas," menunjukkan bahawa objek telah diubah suai oleh fungsi set_b() walaupun diluluskan sebagai argument.

Untuk mencipta salinan objek dalam PHP, anda boleh menggunakan operator klon yang diperkenalkan dalam PHP 5 :

$objectB = clone $objectA;

Ini operasi mencipta objek baharu yang bebas daripada objek asal. Sebarang perubahan yang dibuat pada satu objek tidak akan menjejaskan yang lain.

Adalah penting untuk ambil perhatian bahawa hanya objek yang diluluskan melalui rujukan dalam PHP. Pembolehubah jenis lain, seperti tatasusunan, rentetan dan integer, dihantar mengikut nilai. Ini bermakna memperuntukkan pembolehubah ini kepada pembolehubah lain mencipta kejadian baharu pembolehubah, bukannya rujukan kepada pembolehubah asal.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Salinan Benar Objek dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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