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