Bagaimana untuk lulus parameter dengan rujukan dalam fungsi php?

醉折花枝作酒筹
Lepaskan: 2023-04-10 12:38:01
asal
6161 orang telah melayarinya

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 &#39;函数内,交换前 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
    $temp = $a;
    $a = $b;
    $b = $temp;
    echo &#39;函数内,交换后 $a = &#39;.$a.&#39;, $b = &#39;.$b.&#39;<br>&#39;;
  }

  $x = 5;
  $y = 7;
  echo &#39;函数外,交换前 $x = &#39;.$x.&#39;, $y = &#39;.$y.&#39;<br>&#39;;
  swap($x, $y);
  echo &#39;函数外,交换后 $x = &#39;.$x.&#39;, $y = &#39;.$y;
?>
Salin selepas log masuk

Hasil keluarannya ialah

函数外,交换前 $x = 5, $y = 7
函数内,交换前 $a = 5, $b = 7
函数内,交换后 $a = 7, $b = 5
函数外,交换后 $x = 7, $y = 5
Salin selepas log masuk

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) {
  ...  
}
Salin selepas log masuk

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!

Label berkaitan:
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