Memahami Array Pass-by-Value dan Pass-by-Reference dalam PHP
Dalam PHP, tatasusunan memainkan peranan penting dalam manipulasi data . Walau bagaimanapun, mengurus tatasusunan boleh menimbulkan persoalan tentang gelagatnya apabila ditugaskan kepada pembolehubah dan diluluskan sebagai argumen fungsi.
Apabila Menghantar Tatasusunan kepada Fungsi
Apabila menghantar tatasusunan kepada fungsi atau kaedah, PHP mencipta salinan tatasusunan. Sebarang perubahan yang dibuat pada tatasusunan dalam fungsi tidak akan menjejaskan tatasusunan asal di luar fungsi. Untuk mengubah suai tatasusunan asal, anda perlu menghantarnya melalui rujukan menggunakan tanda ampersand (&) sebelum nama pembolehubah.
Contoh:
function my_func(&$arr) { $arr[] = 30; } $arr = array(10, 20); my_func($arr); var_dump($arr); // Output: [10, 20, 30]
Apabila Menetapkan Tatasusunan kepada Pembolehubah
Menetapkan tatasusunan kepada pembolehubah baharu mencipta pembolehubah baharu salinan tatasusunan. Pembolehubah baharu bukan rujukan kepada tatasusunan asal.
Contoh:
$a = array(1, 2, 3); $b = $a;
Dalam kes ini, $b ialah salinan $a. Sebarang perubahan yang dibuat kepada $b tidak akan menjejaskan $a.
Pengecualian: Menggunakan Tugasan Rujukan
PHP menyediakan sintaks untuk menetapkan tatasusunan melalui rujukan menggunakan ampersand (&) tanda. Ini mencipta rujukan kepada tatasusunan asal, membenarkan perubahan dalam mana-mana pembolehubah mempengaruhi kedua-dua tatasusunan.
Contoh:
$a = array(1, 2, 3); $b = &$a;
Sekarang, $b ialah rujukan kepada $a. Sebarang perubahan yang dibuat kepada sama ada $a atau $b akan menjejaskan yang lain.
Dengan memahami mekanisme nilai pas dan rujukan untuk tatasusunan dalam PHP, anda boleh mengurus dan memanipulasi data dengan berkesan dalam anda aplikasi.
Atas ialah kandungan terperinci Bagaimanakah PHP Mengendalikan Array Pass-by-Value vs Pass-by-Rujukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!