Panggilan fungsi dalam PHP boleh dihantar mengikut nilai atau rujukan. Lalai adalah untuk lulus mengikut nilai, fungsi menerima salinan parameter, dan pengubahsuaian padanya tidak menjejaskan nilai asal. Lulus melalui rujukan diisytiharkan dengan menambahkan simbol & sebelum parameter, dan fungsi itu secara langsung mengubah suai pembolehubah yang diluluskan. Melewati rujukan berguna apabila anda memerlukan fungsi untuk mengubah suai pembolehubah luaran, seperti elemen tatasusunan. . Ini bermakna apabila nilai dihantar ke fungsi sebagai hujah, fungsi akan mendapat salinan nilai. Sebarang perubahan yang dibuat pada salinan ini tidak akan menjejaskan nilai asal.
function addValue($number) { $number += 10; } $value = 10; addValue($value); echo $value; // 输出:10
Seperti yang ditunjukkan dalam contoh di atas, apabila$value
dihantar ke fungsiaddValue
, fungsi tersebut mendapat salinan pembolehubah. Pengubahsuaian dalam fungsi hanya mempengaruhi salinan, bukan pembolehubah asal.
&
sebelum pengisytiharan jenis parameter.
function addReference(&$number) { $number += 10; } $value = 10; addReference($value); echo $value; // 输出:20
$number
bagi fungsi
addReference
diisytiharkan sebagai rujukan. Ini bermakna fungsi tersebut akan mengubah suai terus pembolehubah yang diluluskan.
Contoh Praktikal
$value
传递给addValue
函数时,函数获取该变量的副本。函数内的修改只影响该副本,不会影响原始变量。
有时,我们需要函数直接修改原始变量。这时,可以使用引用传递。要声明引用,请在参数类型声明前添加一个&
符号。
$users = [ [ 'id' => 1, 'name' => 'John Doe', ], ]; function changeName(&$user, $newName) { $user['name'] = $newName; } changeName($users[0], 'Jane Doe'); echo $users[0]['name']; // 输出:Jane Doe
如上例所示,addReference
函数的$number
参数声明为引用。这意味着函数将直接修改传递的变量。
使用引用传递可以简化某些任务。例如,我们有一个包含用户数据的数组,并且需要在函数中对其进行修改。
rrreee通过将$user
参数声明为引用,changeName
Menggunakan rujukan lulus boleh memudahkan tugas tertentu. Sebagai contoh, kami mempunyai tatasusunan yang mengandungi data pengguna dan perlu mengubah suainya dalam fungsi.
$user
sebagai rujukan, fungsichangeName
boleh mengubah suai terus elemen asal dalam tatasusunan.Kesimpulan
Memahami nilai lulus dan rujukan lulus dalam PHP adalah penting untuk menulis kod yang cekap dan boleh diselenggara. Dengan menggunakan rujukan lulus, kita boleh mengelakkan penyalinan pembolehubah yang tidak perlu dan mengubah suai terus pembolehubah di luar fungsi.Atas ialah kandungan terperinci Menyahmistifikasi nilai lulus dan rujukan lulus dalam panggilan fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!