Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah kaedah lulus parameter untuk fungsi PHP?

Apakah kaedah lulus parameter untuk fungsi PHP?

WBOY
WBOYasal
2024-04-10 11:06:021192semak imbas

Terdapat dua cara untuk menghantar parameter dalam PHP: panggilan mengikut nilai (parameter diluluskan sebagai salinan nilai, pengubahsuaian dalam fungsi tidak menjejaskan pembolehubah asal) dan lulus melalui rujukan (alamat parameter diluluskan, pengubahsuaian dalam fungsi akan menjejaskan pembolehubah asal), apabila pembolehubah asal perlu diubah suai Dalam kes pembolehubah, gunakan hantaran rujukan Contohnya, apabila mengira jumlah harga troli beli-belah, lulus rujukan diperlukan untuk mengira dengan betul.

PHP 函数的参数传递方式是什么?

Kaedah lulus parameter fungsi PHP

Terdapat dua kaedah utama lulus parameter dalam PHP:

1 Nilai lulus**

Dalam kaedah ini, Argumen dihantar. nilai mereka. Jika nilai parameter diubah suai dalam fungsi, nilai pembolehubah asal tidak akan terjejas.

function double($number) {
  $number *= 2;
  return $number;
}

$num = 10;
$result = double($num);
echo $num; // 输出: 10
echo $result; // 输出: 20

2 Pass-by-Reference**

Dalam pass-by-reference, alamat parameter dihantar ke fungsi dan bukannya nilai. Ini bermakna jika nilai parameter diubah suai dalam fungsi, nilai pembolehubah asal juga akan terjejas.

function &triple(&$number) {
  $number *= 3;
  return $number;
}

$num = 10;
$result = &triple($num);
echo $result; // 输出: 30
echo $num; // 输出: 30

Kes praktikal

Pelaksanaan fungsi keranjang belanja

memerlukan fungsi untuk mengira jumlah harga semua barang di dalam troli beli-belah. Senarai item disimpan dalam tatasusunan, dan setiap item mempunyai harga.

$cart = [
  ['product' => 'Apple', 'price' => 1.20],
  ['product' => 'Orange', 'price' => 0.80]
];

function get_total_price($cart) {
  $total = 0;
  foreach ($cart as &$item) {
    $total += $item['price'];
  }
  return $total;
}

$total_price = get_total_price($cart);

Dalam contoh di atas, harga setiap item dalam get_total_price 函数的 $cart 参数使用引用传递。这是必要的,因为函数会修改 $cart (tambahkan pada jumlah harga). Jika dipanggil mengikut nilai, perubahan ini tidak akan ditunjukkan dalam tatasusunan troli beli-belah asal yang diserahkan kepada fungsi.

Atas ialah kandungan terperinci Apakah kaedah lulus parameter untuk 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