Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah PHP Mengendalikan Hantaran Array dan Tugasan melalui Rujukan?

Bagaimanakah PHP Mengendalikan Hantaran Array dan Tugasan melalui Rujukan?

Susan Sarandon
Lepaskan: 2024-12-10 10:14:20
asal
780 orang telah melayarinya

How Does PHP Handle Array Passing and Assignment by Reference?

Melalukan Argumen dan Menetapkan Array dalam PHP

Array, struktur data penting dalam PHP, biasanya diserahkan kepada fungsi atau diberikan kepada pembolehubah. Walau bagaimanapun, adalah penting untuk memahami cara operasi ini mempengaruhi rujukan asasnya.

Array sebagai Argumen Fungsi

Apabila tatasusunan dihantar sebagai argumen kepada fungsi, ia adalah secara lalai diluluskan sebagai salinan. Ini bermakna fungsi beroperasi pada salinan itu sendiri, tanpa mengubah suai tatasusunan asal. Katakan fungsi membuat perubahan pada tatasusunan; perubahan ini tidak akan mencerminkan dalam tatasusunan asal di luar fungsi, melainkan fungsi itu diarahkan secara eksplisit untuk beroperasi melalui rujukan.

function my_func($a) {
    $a[] = 30;
}

$arr = array(10, 20);
my_func($arr);
var_dump($arr); // Output: array(10, 20)
Salin selepas log masuk

Untuk menghantar tatasusunan melalui rujukan dan membenarkan fungsi mengubah suai tatasusunan asal, fungsi mesti diisytiharkan sebagai:

function my_func(& $a) {
    $a[] = 30;
}
Salin selepas log masuk

Kini, perubahan yang dibuat dalam fungsi akan ditunjukkan dalam tatasusunan asal di luar fungsi.

Menetapkan Tatasusunan

Apabila menetapkan tatasusunan kepada pembolehubah baharu, tugasan mencipta salinan tatasusunan baharu, melainkan pengendali rujukan & digunakan. Ini bermakna tatasusunan asal dan pembolehubah yang baru ditetapkan adalah berasingan dan perubahan yang dibuat kepada satu tidak akan menjejaskan yang lain.

$a = array(1, 2, 3);
$b = $a;
$b[] = 4;
// $a still contains the original array (1, 2, 3)
Salin selepas log masuk

Untuk menetapkan melalui rujukan, pengendali rujukan & mesti digunakan:

$a = array(1, 2, 3);
$b = & $a;
$b[] = 4;
// Both $a and $b now contain (1, 2, 3, 4)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah PHP Mengendalikan Hantaran Array dan Tugasan melalui Rujukan?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan