현재 위치: > 최신 기사 목록> 참조로 PHP 변수를 전달하고 원래 값을 수정하는 방법

참조로 PHP 변수를 전달하고 원래 값을 수정하는 방법

M66 2025-06-15

참조로 PHP 변수를 전달하고 원래 값을 수정하는 방법

PHP에서는 & 기호 (&) 기호를 사용하여 값 대신 참조별로 변수를 전달할 수 있습니다. 이를 통해 원래 변수의 값이 함수 또는 메소드에서 직접 수정 될 수 있습니다. PHP는 참조로 전달 변수를 구현하는 두 가지 방법을 제공합니다.

  • 기능/방법 선언에서 사용 및 기호에 의해
  • 함수를 호출 할 때 변수를 전달하고 합계 기호를 사용합니다.

기능/메소드 선언에서 사용 및 기호를 전달합니다

PHP에서는 함수 또는 메소드의 매개 변수에 의해 접두사에 의해 참조로 변수를 전달할 수 있습니다. 이는 전달하려는 변수를 함수 내에서 수정하여 원래 변수의 값에 직접 영향을 미칩니다. 간단한 예는 다음과 같습니다.

  
함수 modifyValue (& $ variable) {  
    $ variable += 10;  
}  

$ myvariable = 5;  
modifyValue ($ myvarible);  
echo $ myvariable; // 출력 : 15  

위의 코드에서 함수 modifyvalue는 & symplic $ ariable 에 전달 된 매개 변수를 허용합니다. 함수가 호출되고 $ myvariable이 전달되면 원래 변수는 참조로 전달되므로 함수 내의 수정은 $ myvarible 의 값에 직접 영향을 미칩니다.

함수 선언에서 & 기호를 사용하면 변수가 참조로 전달되도록 명시 적으로 지정할 수 있으며, 이는 원래 변수의 값을 실수로 수정하지 않도록합니다.

함수를 호출 할 때 기준 변수를 전달합니다

함수 선언에서 & 기호를 사용하는 것 외에도 변수가 호출 될 때 참조를 명시 적으로 전달할 수도 있습니다. 그러나 호출 할 때만 & 기호를 추가하면 실제로 전달 방법이 변경되지는 않습니다. 경우에 따라 구문 오류 나 동작이 예상보다 악화 될 수 있습니다.

  
함수 modifyValue ($ variable) {  
    $ variable += 10;  
}  

$ myvariable = 5;  
modifyvalue (& $ myvariable);  
echo $ myvariable; // 출력 : 5  

위의 예에서는 함수 modifyvalue가 & symply를 사용하여 정의되지 않습니다. 따라서 함수를 호출 할 때 & 기호가 사용 되더라도 $ myvariable은 여전히 ​​값으로 전달되며 함수 내의 수정은 원래 변수에 영향을 미치지 않습니다.

결론적으로

PHP에서 함수 선언에서 & 기호를 사용하여 함수 내에서 변수를 수정할 수 있도록 참조 전달을 구현할 수 있습니다. 반대로, 함수가 호출되는 경우에만 & 기호를 사용하는 것은 참조 전달을 구현하지 않습니다. 참조 패스를 올바르게 이해하고 사용하면 변수 범위를 더 잘 제어하여 원래 데이터를 우발적으로 수정하는 데 도움이 될 수 있습니다.