Dalam artikel sebelumnya, kami mempelajari tentang menghantar parameter mengikut nilai dalam menghantar parameter ke fungsi Jika perlu, sila baca " Bagaimana untuk menghantar parameter mengikut nilai dalam fungsi PHP? 》. Kali ini kami akan memperkenalkan anda kepada rujukan passing in passing parameters to functions Anda boleh merujuknya jika anda memerlukannya.
Mari kita lihat contoh kecil untuk membantu kita memahami hantaran rujukan.
<?php function swap(&$a, &$b){ echo '函数内,交换前 $a = '.$a.', $b = '.$b.'<br>'; $temp = $a; $a = $b; $b = $temp; echo '函数内,交换后 $a = '.$a.', $b = '.$b.'<br>'; } $x = 5; $y = 7; echo '函数外,交换前 $x = '.$x.', $y = '.$y.'<br>'; swap($x, $y); echo '函数外,交换后 $x = '.$x.', $y = '.$y; ?>
Hasil keluarannya ialah
函数外,交换前 $x = 5, $y = 7 函数内,交换前 $a = 5, $b = 7 函数内,交换后 $a = 7, $b = 5 函数外,交换后 $x = 7, $y = 5
Dalam contoh ini, kita dapat melihat bahawa di dalam fungsi, nilai memang ditukar, manakala di luar fungsi, nilai juga ditukar.
Ini ialah perbezaan antara lulus melalui rujukan dan lulus parameter mengikut nilai dalam artikel sebelumnya.
Pelulusan rujukan parameter adalah untuk menyalin alamat memori parameter dan kemudian menghantarnya ke parameter formal fungsi. Kedua-dua parameter dan parameter formal menghala ke alamat memori yang sama. Oleh itu, operasi fungsi pada parameter formal akan mempengaruhi parameter di luar fungsi.
Lulus melalui rujukan ialah menghantar alamat memori parameter kepada parameter formal fungsi. Oleh itu, parameter dan parameter formal menghala ke alamat memori yang sama. Pada masa ini, semua operasi dalam fungsi akan mempengaruhi nilai parameter di luar fungsi. Kaedah pemindahan rujukan ialah menambah simbol <strong>&</strong>
, seperti ditunjukkan di bawah:
function name (&参数1, &参数2, ..., &参数3) { ... }
Pada masa yang sama, simbol ini juga merupakan perbezaan antara 引用传递
dan 按值传递参数
.
Itu sahaja untuk rujukan lewat Jika anda ingin mengetahui lebih lanjut, anda boleh klik di sini. → →tutorial video php
Atas ialah kandungan terperinci Bagaimana untuk lulus parameter dengan rujukan dalam fungsi php?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!