Dalam PHP, terdapat dua cara untuk menghantar parameter: lulus mengikut nilai dan lulus dengan rujukan. Melepasi nilai ialah kaedah lalai, yang bermaksud bahawa pengubahsuaian kepada parameter dalam fungsi tidak menjejaskan pembolehubah di luar fungsi. Melewati rujukan akan menghantar alamat pembolehubah kepada fungsi, supaya pengubahsuaian pada parameter akan mempengaruhi pembolehubah fungsi panggilan.
Dalam PHP, gunakan simbol & untuk menunjukkan rujukan lulus. Berikut ialah beberapa contoh kod untuk menggambarkan penggunaan pass-by-reference:
function addOne(&$num) { $num++; } $num = 10; addOne($num); echo $num; // 输出 11
Dalam kod di atas, fungsi addOne
menggunakan notasi &
untuk merujuk kepada parameternya $num
, iaitu , kepada Sebarang perubahan kepada 🎜> akan menjejaskan pembolehubah yang memanggil fungsi tersebut. Dalam fungsi, kami menambah 1 kepada $num
Selepas memanggil fungsi, nilai pembolehubah asal $num
juga diubah suai. $num
function swap(&$a, &$b) { $tmp = $a; $a = $b; $b = $tmp; } $a = 1; $b = 2; swap($a, $b); echo $a; // 输出 2 echo $b; // 输出 1
menerima dua parameter swap
dan $a
dan kedua-duanya diluluskan melalui rujukan. Di dalam fungsi, kami menyimpan nilai $b
dalam $a
dan kemudian menetapkan nilai $tmp
kepada $a
dan nilai $b
kepada $b
. Selepas memanggil fungsi $tmp
, nilai-nilai pembolehubah asal swap
dan $a
ditukar. $b
untuk mengembalikan hasil fungsi: &$var
function &getRef() { $num = 10; return $num; } $numRef = &getRef(); $numRef = 20; echo getRef(); // 输出 20
mengembalikan rujukan kepada pembolehubah getRef
Anda boleh melihat bahawa selepas memanggil fungsi $num
, kami menetapkan rujukan kepada pembolehubah getRef
dan mengubah suai nilai $numRef
. Ini akan menyebabkan nilai pembolehubah $numRef
asal turut diubah suai. $num
Atas ialah kandungan terperinci Bagaimana untuk menghantar rujukan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!