>백엔드 개발 >PHP 튜토리얼 >PHP 배열: 값으로 전달할까요, 아니면 참조로 전달할까요?

PHP 배열: 값으로 전달할까요, 아니면 참조로 전달할까요?

Linda Hamilton
Linda Hamilton원래의
2024-12-08 21:16:10771검색

PHP Arrays: Pass by Value or Pass by Reference?

PHP에서 배열 처리: 값 또는 참조로 전달

PHP에서 배열로 작업할 때 새 배열에 할당될 때 배열이 처리되는 방식 이해 변수를 지정하거나 함수에 전달하는 것이 중요합니다.

배열 할당

변수에 배열을 할당할 때(예: $b = $a) PHP는 항상 값 복사를 수행합니다. 즉, 새 변수($b)에 대한 변경 사항은 원래 배열($a)에 영향을 주지 않으며 그 반대의 경우도 마찬가지입니다. 원본 배열에 대한 참조를 생성해야 하는 경우 참조 연산자($b =& $a)를 사용해야 합니다.

배열을 함수에 전달

배열은 함수에 인수로 전달되며 일반적으로 값으로 복사됩니다. 즉, 함수 내에서 수정해도 원래 배열은 수정되지 않습니다. 참조로 배열을 전달하려면 매개변수 앞에 & 기호를 사용하여 함수를 선언해야 합니다(예: 함수 my_func(& $a)).

예제 코드

이를 설명하기 위해 다음 PHP 코드를 고려하십시오.

function my_func($a) {
    $a[] = 30;
}

$arr = array(10, 20);
my_func($arr);
var_dump($arr);

출력(전달됨 값):

array
  0 => int 10
  1 => int 20

출력(참조 전달):

array
  0 => int 10
  1 => int 20
  2 => int 30

설명된 바와 같이 함수 내 변경 사항은 다음 경우에만 배열에 영향을 미칩니다. 참조로 전달됩니다.

위 내용은 PHP 배열: 값으로 전달할까요, 아니면 참조로 전달할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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