>  기사  >  백엔드 개발  >  PHP에서 참조로 매개변수 전달 소개: & 기호 사용 방법

PHP에서 참조로 매개변수 전달 소개: & 기호 사용 방법

WBOY
WBOY원래의
2023-06-27 13:13:111444검색

PHP는 매개변수를 전달하는 두 가지 방법(값 전달 및 참조 전달)을 지원하는 널리 사용되는 프로그래밍 언어입니다. 값으로 전달하면 한 변수의 값이 다른 변수로 복사되고, 참조로 전달하면 한 변수의 메모리 주소가 다른 변수로 복사됩니다. 이 기사에서는 PHP 참조 전달 매개변수의 사용, 특히 & 기호의 사용을 소개합니다.

참조에 의한 매개변수 전달의 기본

PHP에서는 변수를 함수에 전달하여 변수의 값을 변경하거나 반환할 수 있습니다. 이 프로세스는 값으로 전달하거나 참조로 전달하여 수행할 수 있습니다. 값별 전달에서는 함수가 변수의 값을 복사하는 반면, 참조별 전달에서는 함수가 원래 변수를 사용합니다.

참조로 매개변수를 전달하는 기본 구문은 다음과 같습니다.

function &example(&$parameter){

// code to modify $parameter
return $parameter;

}

이 함수에서 &는 참조로 전달을 의미하고 $parameter는 함수의 매개변수입니다. 이 함수는 $parameter 변수에 대한 참조를 반환합니다. 보시다시피, 함수 정의에서 매개변수 이름 앞에 & 기호가 있는데, 이는 이 매개변수가 참조 매개변수임을 의미합니다.

& 기호 사용 예

& 기호 사용 방법을 설명하기 위해 몇 가지 예를 살펴보겠습니다.

// 值传递的例子
function foo($var){
    $var = 2;
} 

$a = 1;
foo($a);
echo $a; // 输出:1

// 引用传递的例子
function bar(&$var){
    $var = 2;
} 

$a = 1;
bar($a);
echo $a; // 输出:2

이 예에서 foo() 함수는 값에 의한 전달 함수인 반면 bar() 함수는 참조에 의한 전달 함수입니다. foo($a)가 실행되면 $a의 값이 $var에 복사되므로 $var의 값은 1이 됩니다. 함수 내에서 $var의 값은 2로 설정되어 있지만 $var는 지역 변수이므로 변경 사항이 $a의 원래 값에 영향을 주지 않습니다.

bar($a)가 실행되면 $a의 메모리 주소가 $var에 복사됩니다. 따라서 함수 내에서 $var 변수는 $a의 값을 복사하는 것이 아니라 $a의 메모리 주소를 참조합니다. 함수 내부에서 $var의 값을 2로 설정하면 $a 변수의 값도 2로 변경됩니다.

보시다시피 & 기호를 사용하면 변수를 함수에 대한 포인터로 전달할 수 있습니다. 이를 통해 함수는 원래 변수의 값을 변경하여 프로그램 주위에 변경 가능한 상태를 전달할 수 있습니다.

& 기호는 표현식이 아닌 변수에만 적용할 수 있다는 점에 유의하세요. 예를 들어 다음 코드에는 구문 오류가 있습니다.

$var = 1;
// 以下代码将会出现语法错误
function foo(1 &$var){ 
    $var = 2;
}

Summary

이 기사에서는 PHP에서 참조로 매개변수를 전달하는 기본 사항, 특히 & 기호 사용에 대해 소개했습니다. 매개변수를 참조로 전달하면 함수 내에서 변수 값을 변경할 수 있으며, 이는 프로그램 내에서 변경 가능한 상태를 전달해야 할 때 유용합니다. & 기호는 표현식이 아닌 변수에만 적용될 수 있다는 점에 유의해야 합니다. 이 글이 독자들에게 도움이 되기를 바랍니다.

위 내용은 PHP에서 참조로 매개변수 전달 소개: & 기호 사용 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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