Bagaimana untuk menghantar rujukan dalam php

PHPz
Lepaskan: 2023-05-07 10:02:07
asal
741 orang telah melayarinya

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
Salin selepas log masuk

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

Lihat sekali lagi pada kod berikut:

function swap(&$a, &$b) {
  $tmp = $a;
  $a = $b;
  $b = $tmp;
}

$a = 1;
$b = 2;
swap($a, $b);
echo $a; // 输出 2
echo $b; // 输出 1
Salin selepas log masuk
Contoh ini menunjukkan penggunaan pass-by-reference untuk melengkapkan pertukaran nilai ​​​​bagi dua pembolehubah. Fungsi

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

Selain mengisytiharkan parameter secara eksplisit menggunakan simbol &, anda juga boleh menggunakan

untuk mengembalikan hasil fungsi: &$var

function &getRef() {
  $num = 10;
  return $num;
}

$numRef = &getRef();
$numRef = 20;
echo getRef(); // 输出 20
Salin selepas log masuk
Contoh ini menunjukkan cara mengembalikan rujukan kepada pembolehubah . Fungsi

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

Perlu diingatkan bahawa anda perlu berhati-hati apabila menggunakan pemindahan rujukan, kerana nilai pembolehubah mungkin diubah suai oleh kod lain, sekali gus menjejaskan kebolehbacaan dan kebolehselenggaraan program. Oleh itu, adalah disyorkan untuk menggunakan rujukan lulus hanya apabila perlu.

Atas ialah kandungan terperinci Bagaimana untuk menghantar rujukan dalam php. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan