>백엔드 개발 >PHP 문제 >PHP 배열이 참조로 전달됩니까?

PHP 배열이 참조로 전달됩니까?

WBOY
WBOY원래의
2022-09-20 17:02:361440검색

PHP 배열 전송은 참조가 아니라 값에 의한 것입니다. 함수를 호출할 때 PHP 배열을 형식 매개변수에 실제 매개변수로 할당하고 함수에서 이를 수정해도 배열 자체에는 영향을 미치지 않습니다. 프로세스가 값으로 전달되면 배열 변수는 배열 자체에 대한 참조가 아닙니다.

PHP 배열이 참조로 전달됩니까?

이 문서의 운영 환경: Windows 10 시스템, PHP 버전 8.1, Dell G3 컴퓨터

PHP에서 배열이 참조 및 값으로 전달됩니까?

PHP에서 전달되는 배열은 참조가 아닌 값으로 전달됩니다.

함수 호출 시 PHP 배열을 실제 매개변수로 형식 매개변수에 할당하고, 함수에서 수정해도 배열 자체에는 영향을 미치지 않습니다.

이 프로세스의 전송은 값에 의한 것임을 설명합니다. 배열 변수는 배열 자체에 대한 참조가 아니며, PHP 배열 자체는 값의 형태로 존재하며 형식 매개변수는 배열의 복사본입니다.

이것은 다른 언어(예: c, Js 등)와 매우 다르기 때문에 주목할 가치가 있습니다!

예제는 다음과 같습니다.

$arr = array(
    'name' => 'corn',
    'age' => '24',
);
test_arr($arr);
function test_arr($arr){
    $arr['name'] = 'qqyumidi';
}
print_r($arr); //result: Array ( [name] => corn [age] => 24 )

js 코드는 다음과 같습니다.

var arr = new Array('corn', '24');
test_arr(arr);
function test_arr(arr){
    arr[0] = 'qqyumidi';
}
console.log(arr);  //result:["qqyumidi", "24"]

PHP에서 값 전송을 위해 참조 전송 효과를 사용해야 하는 경우 형식 매개변수 앞에 주소 문자 &를 추가하면 됩니다. .

$aa = 100;
test_vars($aa);
function test_vars(&$aa){
    $aa = 200;
}
print_r($aa);   //result: 200

추천 학습: "PHP 비디오 튜토리얼"

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

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