Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist die Parameterübergabemethode für PHP-Funktionen?

Was ist die Parameterübergabemethode für PHP-Funktionen?

WBOY
WBOYOriginal
2024-04-10 11:06:021131Durchsuche

Es gibt zwei Möglichkeiten, Parameter in PHP zu übergeben: Aufruf per Wert (der Parameter wird als Kopie des Werts übergeben, Änderungen innerhalb der Funktion wirken sich nicht auf die Originalvariable aus) und Übergabe per Referenz (die Adresse des Parameters wird übergeben, Eine Änderung innerhalb der Funktion wirkt sich auf die ursprüngliche Variable aus. Wenn die ursprüngliche Variable geändert werden muss, verwenden Sie die Referenzübergabe. Wenn Sie beispielsweise den Gesamtpreis eines Warenkorbs berechnen, ist eine Referenzübergabe erforderlich, um eine korrekte Berechnung durchzuführen.

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

Methoden zur Parameterübergabe von PHP-Funktionen

Es gibt zwei Hauptmethoden zur Parameterübergabe in PHP:

1. Pass-by-Value**

Bei dieser Methode werden Argumente als Kopien an Funktionen übergeben ihrer Werte. Wenn der Parameterwert innerhalb der Funktion geändert wird, hat dies keine Auswirkungen auf den Wert der ursprünglichen Variablen.

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

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

2. Pass-by-Reference**

Bei der Pass-by-Reference wird die Adresse des Parameters anstelle des Werts an die Funktion übergeben. Das heißt, wenn der Parameterwert innerhalb der Funktion geändert wird, wirkt sich dies auch auf den Wert der ursprünglichen Variablen aus.

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

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

Praktischer Fall

Die Implementierung der Warenkorbfunktion

erfordert eine Funktion zur Berechnung des Gesamtpreises aller Artikel im Warenkorb. Die Liste der Artikel wird in einem Array gespeichert und jeder Artikel hat einen Preis.

$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);

Im obigen Beispiel ist get_total_price 函数的 $cart 参数使用引用传递。这是必要的,因为函数会修改 $cart der Preis jedes Artikels (addieren Sie ihn zum Gesamtpreis). Bei einem Aufruf per Wert werden diese Änderungen nicht im ursprünglichen Warenkorb-Array widergespiegelt, das an die Funktion übergeben wurde.

Das obige ist der detaillierte Inhalt vonWas ist die Parameterübergabemethode für PHP-Funktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn