Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Panduan lulus parameter dalam panggilan fungsi PHP

Panduan lulus parameter dalam panggilan fungsi PHP

PHPz
PHPzasal
2024-04-16 11:39:02606semak imbas

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.

PHP 函数调用中的参数传递指南

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:

  • Nilai lulus: Nilai pembolehubah yang diluluskan disalin dan bukannya mengubah suai pembolehubah asal.
  • Lulus dengan rujukan: Rujukan kepada pembolehubah yang diluluskan diluluskan, membenarkan fungsi mengubah suai pembolehubah asal.
  • Parameter lalai: Nyatakan nilai yang dipratentukan untuk fungsi, jika parameter sebenar ditinggalkan semasa memanggil, nilai lalai digunakan.

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. xy 变量按值传递给 sum() 函数。函数内的操作不会修改原始变量,因此 echo $x 输出 10,而不是 30。

按引用传递

按引用传递允许函数修改原始变量。要按引用传递变量,请在函数参数前使用 & 符号:

function sumByReference(&$a, &$b) {
    $a += $b;
}

$x = 10;
$y = 20;

sumByReference($x, $y);

echo $x; // 输出:30

在该示例中,xy 变量按引用传递给 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

在这个案例中,amountrate 变量按值传递给 calculateTax() 函数,函数返回应支付的税额。

使用按引用传递

function swap(&$a, &$b) {
    $temp = $a;
    $a = $b;
    $b = $temp;
}

$a = 10;
$b = 20;

swap($a, $b);

echo $a; // 输出:20
echo $b; // 输出:10

在这个案例中,ab 变量按引用传递给 swap() 函数,函数交换了变量的值。

使用默认参数

function createPost($title, $content = "") {
    // 创建新的帖子...
}

createPost("My Post"); // 使用默认的内容值 ""
createPost("My Post", "This is the content."); // 覆盖默认值

在这个案例中,第二个 content

🎜Lulus dengan rujukan🎜🎜🎜Lulus melalui rujukan membenarkan fungsi untuk mengubah suai pembolehubah asal. Untuk menghantar pembolehubah melalui rujukan, gunakan simbol & 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🎜🎜

Menggunakan nilai lulus

rrreee🎜Dalam kes ini, pembolehubah jumlah dan rate dihantar mengikut nilai kepada fungsi countTax(), fungsi tersebut mengembalikan jumlah cukai yang perlu dibayar. 🎜

Gunakan rujukan lulus

rrreee🎜Dalam kes ini, pembolehubah 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!

Kenyataan:
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