HOWTO · PHP
PHP 변수 참조로 전달
이 튜토리얼은 PHP에서 참조로 변수를 전달하는 방법을 보여줍니다.
이 페이지의 내용
변수는 기본적으로 값으로 함수에 전달되지만 PHP에서 참조로 전달할 수도 있습니다. 이 튜토리얼은 PHP에서 참조로 전달하는 방법을 보여줍니다.
참조로 전달되는 PHP 변수
앰퍼샌드 기호 &는 PHP에서 참조로 변수를 전달하기 위해 변수 인수의 시작 부분에 추가됩니다. 예를 들어 function(&$a)은 전역 및 함수의 변수 목표가 동일한 참조 개념을 사용하여 정의되기 때문에 전역 값이 되는 것입니다.
전역 변수가 변경될 때마다 함수 내부의 변수가 변경되고 그 반대도 마찬가지입니다. 참조로 전달하는 구문은 다음과 같습니다.
function FunctionName(&$Parameter){
//
}
여기서 FunctionName은 함수의 이름이고 Parameter는 참조로 전달될 변수입니다. 다음은 PHP에서 참조로 전달하는 간단한 예입니다.
<?php
function Show_Number(&$Demo){
$Demo++;
}
$Demo=7;
echo "Value of Demo variable before the function call :: ";
echo $Demo;
echo "<br>";
echo "Value of Demo variable after the function call :: ";
Show_Number($Demo);
echo $Demo;
?>
위의 코드는 Show_Number 함수에서 참조로 Demo 변수를 전달합니다. 출력 참조:
Value of Demo variable before the function call :: 7
Value of Demo variable after the function call :: 8
앰퍼샌드 기호를 사용하거나 사용하지 않고 참조로 전달하는 다른 예를 시도해 보겠습니다. 예를 참조하십시오.
<?php
// Assigning the new value to some $Demo1 variable and then printing it
echo "PHP pass by reference concept :: ";
echo "<hr>";
function PrintDemo1( &$Demo1 ) {
$Demo1 = "New Value \n";
// Print $Demo1 variable
print( $Demo1 );
echo "<br>";
}
// Drivers code
$Demo1 = "Old Value \n";
PrintDemo1( $Demo1 );
print( $Demo1 );
echo "<br><br><br>";
echo "PHP pass by reference concept but exempted ampersand symbol :: ";
echo "<hr>";
function PrintDemo2( $Demo2 ) {
$Demo2 = "New Value \n";
// Print $Demo2 variable
print( $Demo2 );
echo "<br>";
}
// Drivers code
$Demo2 = "Old Value \n";
PrintDemo2( $Demo2 );
print( $Demo2 );
echo "<br>";
?>
위의 코드는 변수 값을 변경하는 데 사용되는 두 개의 함수를 만듭니다. 변수가 앰퍼샌드 기호 &를 사용하여 참조로 전달되면 함수가 동시에 호출되고 변수 값이 변경됩니다.
마찬가지로 앰퍼샌드 기호 & 없이 참조로 전달되면 변수 값을 변경하기 위해 함수를 호출해야 합니다. 출력 참조:
PHP pass by reference concept ::
New Value
New Value
PHP pass by reference concept but exempted ampersand symbol ::
New Value
Old Value