>  기사  >  백엔드 개발  >  PHP 함수에 매개변수를 전달하는 방법은 무엇입니까?

PHP 함수에 매개변수를 전달하는 방법은 무엇입니까?

WBOY
WBOY원래의
2024-04-10 11:06:021192검색

PHP에서 매개변수를 전달하는 방법에는 두 가지가 있습니다. 값에 의한 호출(매개변수는 값의 복사본으로 전달되며, 함수 내 수정은 원래 변수에 영향을 주지 않습니다) 및 참조에 의한 전달(매개변수의 주소가 전달됩니다. 함수 내 수정은 원래 변수에 영향을 미칩니다), 원래 변수를 수정해야 하는 경우 변수의 경우 참조 전달을 사용합니다. 예를 들어 장바구니의 총 가격을 계산할 때 올바르게 계산하려면 참조 전달이 필요합니다.

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

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.