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.
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
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!