>백엔드 개발 >PHP 튜토리얼 >PHP에서 \'Call-time Pass-by-Reference가 제거되었습니다\' 오류를 어떻게 수정합니까?

PHP에서 \'Call-time Pass-by-Reference가 제거되었습니다\' 오류를 어떻게 수정합니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-29 02:20:141031검색

How Do I Fix the

PHP 5.4 Call-Time Pass-by-Reference 문제 해결

"PHP Fatal error: Call-time pass- 레거시 PHP에서 함수를 참조하여 변수를 전달할 때 참조 기준이 제거되었습니다.' 오류가 자주 발생합니다. code.

문제 설명:
이 문제는 PHP 5.3 이상에서 참조에 의한 호출 시간 전달 지원 중단으로 인해 발생합니다. 이전에는 함수 호출 중에 "&" 앰퍼샌드 기호를 사용하여 참조로 변수를 전달할 수 있었습니다. 그러나 PHP 버전 5.4에서는 이 기능이 제거되어 함수 정의 내에서 명시적인 참조 전달 선언이 필요합니다.

해결책:
이 문제를 해결하려면 다음이 필수적입니다. 함수 도중이 아니라 함수 정의 자체에서 참조에 의한 호출을 선언합니다. call.

예:
다음 코드를 사용하는 대신:

// Deprecated
myFunc(&$arg);

function myFunc($arg) {
    // ...
}

다음과 같이 다시 작성해야 합니다.

// Correct
myFunc($var);

function myFunc(&$arg) {
    // ...
}

중요 사항:
매혹적일 수도 있지만 코드 재작성을 피하기 위해 레거시 호출 시간 참조 방식을 고수하려면 PHP 권장 사항과 일치하도록 코드를 업데이트하는 것이 좋습니다. 이는 최신 PHP 버전과의 호환성을 보장할 뿐만 아니라 향후 지원 중단 경고 및 오류 가능성을 제거합니다.

위 내용은 PHP에서 \'Call-time Pass-by-Reference가 제거되었습니다\' 오류를 어떻게 수정합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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