> 백엔드 개발 > PHP 튜토리얼 > PHP는 배열 전달 및 참조 할당을 어떻게 처리합니까?

PHP는 배열 전달 및 참조 할당을 어떻게 처리합니까?

Susan Sarandon
풀어 주다: 2024-12-10 10:14:20
원래의
781명이 탐색했습니다.

How Does PHP Handle Array Passing and Assignment by Reference?

PHP에서 인수 전달 및 배열 할당

PHP의 중요한 데이터 구조인 배열은 일반적으로 함수에 전달되거나 변수에 할당됩니다. 그러나 이러한 작업이 기본 참조에 어떤 영향을 미치는지 이해하는 것이 중요합니다.

함수 인수로서의 배열

배열이 함수에 인수로 전달되는 경우 기본적으로 복사본으로 전달됩니다. 이는 함수가 원본 배열을 수정하지 않고 복사본 자체에서 작동함을 의미합니다. 함수가 배열을 변경한다고 가정합니다. 함수가 참조로 작동하도록 명시적으로 지시하지 않는 한 이러한 변경 사항은 함수 외부의 원래 배열에 반영되지 않습니다.

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

$arr = array(10, 20);
my_func($arr);
var_dump($arr); // Output: array(10, 20)
로그인 후 복사

참조로 배열을 전달하고 함수가 원래 배열을 수정할 수 있도록 하려면, 함수는 다음과 같이 선언되어야 합니다.

function my_func(& $a) {
    $a[] = 30;
}
로그인 후 복사

이제 함수 내에서 변경된 내용은 외부 배열에 반영됩니다. function.

배열 할당

새 변수에 배열을 할당할 때 참조 연산자 &를 사용하지 않는 한 할당은 배열의 새 복사본을 생성합니다. 즉, 원래 배열과 새로 할당된 변수는 별개이며 하나를 변경해도 다른 변수에는 영향을 미치지 않습니다.

$a = array(1, 2, 3);
$b = $a;
$b[] = 4;
// $a still contains the original array (1, 2, 3)
로그인 후 복사

참조로 할당하려면 참조 연산자 &를 사용해야 합니다.

$a = array(1, 2, 3);
$b = & $a;
$b[] = 4;
// Both $a and $b now contain (1, 2, 3, 4)
로그인 후 복사

위 내용은 PHP는 배열 전달 및 참조 할당을 어떻게 처리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿