Parameter fungsi membolehkan data dihantar ke fungsi Terdapat dua kaedah pemindahan: Nilai lulus: Pembolehubah asal tidak terjejas oleh pengubahsuaian fungsi. Lulus dengan rujukan (bermula dengan ampersand): Pengubahsuaian fungsi mempengaruhi pembolehubah asal. Kes praktikal: Dalam pengesahan borang, medan yang diluluskan mengikut nilai tidak akan diubah suai, tetapi tatasusunan ralat yang diluluskan melalui rujukan boleh diubah suai di luar fungsi.
Cara menggunakan parameter fungsi PHP
Pengenalan
Parameter fungsi membolehkan anda menghantar data ke fungsi apabila ia dipanggil. Fungsi boleh mendapatkan parameter melalui:
Lulus mengikut nilai
Secara lalai, parameter diluluskan mengikut nilai. Ini bermakna bahawa sebarang perubahan yang dibuat pada parameter di dalam fungsi tidak akan menjejaskan pembolehubah asal.
Contoh:
function increment($value) { $value++; } $number = 10; increment($number); echo $number; // 输出:10
Walaupun kita cuba menambah nilai $number
menggunakan fungsi increment()
, pembolehubah asal $number< /code> masih kekal malar. <code>increment()
函数增加 $number
的值,原始变量 $number
仍然保持不变。
按引用传递
要按引用传递参数,请在参数前使用 &
符号。这将允许函数直接访问原始变量。
示例:
function incrementByReference(&$value) { $value++; } $number = 10; incrementByReference($number); echo $number; // 输出:11
现在,incrementByReference()
函数对 $number
所做的更改也反映在原始变量中。
实战案例
表单验证
function validateForm($data) { // 按值传递 $name = $data['name']; $email = $data['email']; if (empty($name)) { // 按引用传递,可以在函数外部修改 $data['errors'][] = '名称不能为空'; } if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $data['errors'][] = '无效的电子邮件地址'; } }
在上面的示例中,$name
和 $email
按值传递,因此对它们的任何更改都不会影响原始数据。但是,$errors
数组按引用传递,因此可以从函数外部修改。
函数签名
在函数签名中指定参数的传递方式非常重要:
&
Untuk menghantar parameter melalui rujukan, gunakan simbol &
sebelum parameter. Ini akan membolehkan fungsi mengakses pembolehubah asal secara langsung.
$number
oleh fungsi incrementByReference()
juga ditunjukkan dalam pembolehubah asal. 🎜🎜🎜Kes Praktikal🎜🎜🎜🎜🎜Pengesahan Borang🎜🎜rrreee🎜Dalam contoh di atas, $name
dan $email
diluluskan mengikut nilai, jadi sebarang perubahan pada mereka Tiada akan menjejaskan data asal. Walau bagaimanapun, tatasusunan $errors
diluluskan melalui rujukan dan oleh itu boleh diubah suai dari luar fungsi. 🎜🎜🎜Tandatangan fungsi🎜🎜🎜Adalah sangat penting untuk menentukan cara parameter dihantar dalam tandatangan fungsi: 🎜🎜🎜Lulus mengikut nilai: taip nama pembolehubah 🎜🎜Lulus mengikut rujukan: Atas ialah kandungan terperinci Bagaimana untuk menggunakan parameter fungsi PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!