PHP 변수 참조로 전달

Sheeraz Gul 2022년8월18일
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
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

관련 문장 - PHP Variable