Rumah > Artikel > pembangunan bahagian belakang > Panduan lulus parameter dalam panggilan fungsi PHP
Dalam panggilan fungsi PHP, passing parameter termasuk passing by value, passing by reference dan parameter lalai. Melepasi nilai menyalin nilai pembolehubah, lulus melalui rujukan mengubah suai pembolehubah asal dan parameter lalai memberikan nilai yang dipratentukan. Contoh praktikal menunjukkan pengiraan cukai demi nilai, pembolehubah pertukaran lulus demi rujukan dan penciptaan pos dengan parameter lalai.
Panduan Lulus Parameter dalam Panggilan Fungsi PHP
Apabila menulis fungsi PHP, adalah penting untuk memahami cara menghantar parameter. Artikel ini akan menyelidiki mekanisme lulus parameter dalam panggilan fungsi PHP dan memberikan contoh praktikal untuk membantu anda menguasai konsep utama ini.
Cara untuk lulus parameter
Dalam PHP, parameter boleh dihantar dalam pelbagai cara:
Pass by value
Kod berikut menunjukkan pass by value:
function sum($a, $b) { $a += $b; } $x = 10; $y = 20; sum($x, $y); echo $x; // 输出:10
Dalam contoh ini, pembolehubah x
dan y
dihantar mengikut nilai kepada sum(). Operasi dalam fungsi tidak mengubah suai pembolehubah asal, jadi echo $x
mengeluarkan 10 dan bukannya 30. x
和 y
变量按值传递给 sum()
函数。函数内的操作不会修改原始变量,因此 echo $x
输出 10,而不是 30。
按引用传递
按引用传递允许函数修改原始变量。要按引用传递变量,请在函数参数前使用 &
符号:
function sumByReference(&$a, &$b) { $a += $b; } $x = 10; $y = 20; sumByReference($x, $y); echo $x; // 输出:30
在该示例中,x
和 y
变量按引用传递给 sumByReference()
函数。函数内的操作会修改原始变量,因此 echo $x
输出 30。
默认参数
默认参数允许你为函数参数指定预先定义的值。以下代码演示了如何使用默认参数:
function greet($name = "World") { echo "Hello, $name!"; } greet(); // 输出:Hello, World! greet("John"); // 输出:Hello, John!
在该示例中,name
参数被分配了默认值为 "World"。如果没有在调用时明确提供参数值,默认值将被使用。
实战案例
function calculateTax($amount, $rate) { return $amount * $rate; } $amount = 100; $rate = 0.08; $tax = calculateTax($amount, $rate); echo $tax; // 输出:8
在这个案例中,amount
和 rate
变量按值传递给 calculateTax()
函数,函数返回应支付的税额。
function swap(&$a, &$b) { $temp = $a; $a = $b; $b = $temp; } $a = 10; $b = 20; swap($a, $b); echo $a; // 输出:20 echo $b; // 输出:10
在这个案例中,a
和 b
变量按引用传递给 swap()
函数,函数交换了变量的值。
function createPost($title, $content = "") { // 创建新的帖子... } createPost("My Post"); // 使用默认的内容值 "" createPost("My Post", "This is the content."); // 覆盖默认值
在这个案例中,第二个 content
&
sebelum parameter fungsi: 🎜rrreee🎜Dalam contoh ini, pembolehubah x
dan y
adalah dengan rujukan Diluluskan kepada fungsi sumByReference()
. Operasi dalam fungsi mengubah suai pembolehubah asal, jadi echo $x
mengeluarkan 30. 🎜🎜🎜Parameter lalai🎜🎜🎜Parameter lalai membolehkan anda menentukan nilai yang dipratentukan untuk parameter fungsi. Kod berikut menunjukkan cara menggunakan parameter lalai: 🎜rrreee🎜Dalam contoh ini, parameter name
diberikan nilai lalai "Dunia". Jika tiada nilai parameter diberikan secara eksplisit pada masa panggilan, nilai lalai akan digunakan. 🎜🎜🎜Kes praktikal🎜🎜jumlah
dan rate
dihantar mengikut nilai kepada fungsi countTax()
, fungsi tersebut mengembalikan jumlah cukai yang perlu dibayar. 🎜a
dan b
dihantar dengan merujuk kepada swap() kod > Fungsi, fungsi menukar nilai pembolehubah. 🎜<h2>Gunakan parameter lalai</h2>rrreee🎜Dalam kes ini, parameter <code>content
kedua mempunyai nilai lalai "". Parameter ini boleh diabaikan semasa memanggil fungsi atau nilai tersuai boleh diberikan untuk mengatasi nilai lalai. 🎜Atas ialah kandungan terperinci Panduan lulus parameter dalam panggilan fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!