Bagaimanakah fungsi PHP mengendalikan rujukan berubah-ubah?

WBOY
Lepaskan: 2024-04-11 08:15:01
asal
786 orang telah melayarinya

Kaedah lulus pembolehubah dalam fungsi PHP: Lulus nilai: Fungsi menerima salinan nilai pembolehubah, dan pengubahsuaian pada salinan tidak akan menjejaskan pembolehubah asal. Melewati rujukan: Dengan menggunakan simbol &, anda boleh lulus melalui rujukan, dan fungsi boleh mengubah suai secara langsung nilai pembolehubah asal.

PHP 函数如何处理变量引用?

Fungsi PHP dan Rujukan Pembolehubah

Dalam PHP, apabila menghantar pembolehubah sebagai parameter fungsi, anda perlu tahu cara mengendalikan rujukan pembolehubah. Rujukan pembolehubah dibahagikan kepada dua jenis: lulus mengikut nilai dan lulus dengan rujukan.

Pass by value

Secara lalai, PHP menggunakan pass by value, yang bermaksud fungsi tersebut akan menerima salinan nilai pembolehubah. Sebarang pengubahsuaian pada salinan ini tidak akan menjejaskan nilai pembolehubah asal.

function test1($a) {
  $a += 10;  // 修改副本的值
}

$a = 10;
test1($a);
echo $a;  // 输出 10,原始值不受影响
Salin selepas log masuk

Lulus dengan rujukan

Lulus rujukan boleh dicapai dengan menghantar rujukan berubah menggunakan notasi &. Ini akan membolehkan fungsi mengubah suai secara langsung nilai pembolehubah asal.

function test2(&$a) {
  $a += 10;  // 修改原始变量的值
}

$a = 10;
test2($a);
echo $a;  // 输出 20,原始值被修改
Salin selepas log masuk

Contoh Praktikal

Pertimbangkan fungsi swap() yang menukar nilai dua pembolehubah:

function swapByValue($a, $b) {
  // 值传递,交换副本的值
  $temp = $a;
  $a = $b;
  $b = $temp;
}

function swapByReference(&$a, &$b) {
  // 引用传递,直接交换原始变量的值
  list($a, $b) = [$b, $a];
}

$x = 10;
$y = 20;

swapByValue($x, $y);
echo "x = $x, y = $y\n";  // x = 10, y = 20

swapByReference($x, $y);
echo "x = $x, y = $y\n";  // x = 20, y = 10
Salin selepas log masuk

Dalam contoh pertama, menukar menggunakan nilai lulus tidak berfungsi kerana mengubah suai nilai salinan tidak mempunyai kesan asal pembolehubah. Dalam contoh kedua, lulus melalui rujukan digunakan untuk melaksanakan pertukaran, dengan itu berjaya mengubah suai nilai pembolehubah asal.

Atas ialah kandungan terperinci Bagaimanakah fungsi PHP mengendalikan rujukan berubah-ubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!