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