Rumah >pembangunan bahagian belakang >tutorial php >Tatasusunan PHP: Lulus Mengikut Nilai atau Lulus Rujukan?

Tatasusunan PHP: Lulus Mengikut Nilai atau Lulus Rujukan?

Linda Hamilton
Linda Hamiltonasal
2024-12-08 21:16:10771semak imbas

PHP Arrays: Pass by Value or Pass by Reference?

Mengendalikan Tatasusunan dalam PHP: Melewati Nilai atau Rujukan

Apabila bekerja dengan tatasusunan dalam PHP, memahami cara ia dikendalikan apabila ditugaskan kepada yang baharu pembolehubah atau dihantar kepada fungsi adalah penting.

Array Tugasan

Apabila memberikan tatasusunan kepada pembolehubah (cth., $b = $a), PHP sentiasa melaksanakan salinan nilai. Ini bermakna bahawa perubahan yang dibuat kepada pembolehubah baharu ($b) tidak akan menjejaskan tatasusunan asal ($a), dan sebaliknya. Jika anda perlu membuat rujukan kepada tatasusunan asal, anda mesti menggunakan pengendali rujukan ($b =& $a).

Melalukan Tatasusunan kepada Fungsi

Apabila tatasusunan diluluskan sebagai hujah kepada fungsi, ia biasanya disalin mengikut nilai. Ini bermakna pengubahsuaian yang dibuat dalam fungsi tidak akan mengubah suai tatasusunan asal. Untuk menghantar tatasusunan melalui rujukan, fungsi mesti diisytiharkan dengan simbol & sebelum parameter (cth., function my_func(& $a)).

Contoh Kod

Untuk menggambarkan ini, pertimbangkan kod PHP berikut:

function my_func($a) {
    $a[] = 30;
}

$arr = array(10, 20);
my_func($arr);
var_dump($arr);

Output (Diluluskan oleh Nilai):

array
  0 => int 10
  1 => int 20

Output (Diluluskan oleh Rujukan):

array
  0 => int 10
  1 => int 20
  2 => int 30

Seperti yang ditunjukkan, perubahan yang dibuat dalam fungsi hanya mempengaruhi tatasusunan apabila ia diluluskan dengan rujukan.

Atas ialah kandungan terperinci Tatasusunan PHP: Lulus Mengikut Nilai atau Lulus Rujukan?. 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