PHP パラメータを渡すには 2 つの方法があります。値による呼び出し (パラメータは値のコピーとして渡され、関数内での変更は元の変数には影響しません) と参照による渡し (パラメータのアドレスが渡されます) 、関数内の変更は元の変数に影響します)、必要に応じて、元の変数を変更するときに参照渡しを使用します。たとえば、ショッピング カートの合計価格を計算する場合、正しく計算するには参照渡しが必要です。
PHP でのパラメータ受け渡しには主に 2 つの方法があります:
1. 値渡し**
このメソッドでは、パラメータは値のコピーとして関数に渡されます。関数内でパラメーター値が変更されても、元の変数の値は影響を受けません。
function double($number) { $number *= 2; return $number; } $num = 10; $result = double($num); echo $num; // 输出: 10 echo $result; // 输出: 20
2. 参照渡し **
参照渡しでは、値の代わりにパラメータのアドレスが関数に渡されます。これは、関数内でパラメーター値が変更されると、元の変数の値も影響を受けることを意味します。
function &triple(&$number) { $number *= 3; return $number; } $num = 10; $result = &triple($num); echo $result; // 输出: 30 echo $num; // 输出: 30
ショッピング カート関数の実装
ショッピング カート内のすべての商品の合計価格を計算する関数が必要です。アイテムのリストは配列に保存され、各アイテムには価格が付いています。
$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);
上記の例では、get_total_price
関数の $cart
パラメーターは参照によって渡されます。この関数が $cart
内の各アイテムの価格を変更する (合計価格に追加する) ため、これが必要です。値によって呼び出された場合、これらの変更は、関数に渡される元のショッピング カート配列には反映されません。
以上がPHP関数のパラメータの受け渡し方法とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。