PHP에서 매개변수를 전달하는 방법에는 두 가지가 있습니다. 값에 의한 호출(매개변수는 값의 복사본으로 전달되며, 함수 내 수정은 원래 변수에 영향을 주지 않습니다) 및 참조에 의한 전달(매개변수의 주소가 전달됩니다. 함수 내 수정은 원래 변수에 영향을 미칩니다), 원래 변수를 수정해야 하는 경우 변수의 경우 참조 전달을 사용합니다. 예를 들어 장바구니의 총 가격을 계산할 때 올바르게 계산하려면 참조 전달이 필요합니다.
PHP에는 두 가지 주요 매개변수 전달 방법이 있습니다:
1 값별 전달**
이 방법에서는 인수가 복사본으로 함수에 전달됩니다. 그들의 가치. 매개변수 값이 함수 내에서 수정되면 원래 변수의 값은 영향을 받지 않습니다.
function double($number) { $number *= 2; return $number; } $num = 10; $result = double($num); echo $num; // 输出: 10 echo $result; // 输出: 20
2. Pass-by-Reference**
pass-by-reference에서는 값 대신 매개변수의 주소가 함수에 전달됩니다. 즉, 함수 내에서 매개변수 값이 수정되면 원래 변수의 값도 영향을 받습니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!