Apakah kaedah lulus parameter untuk fungsi PHP?

WBOY
Lepaskan: 2024-04-10 11:06:02
asal
1191 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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);
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan