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

PHP 5.4 \'Call-time Pass-by-reference가 제거되었습니다\' 오류를 어떻게 수정할 수 있습니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-28 07:40:13228검색

How Can I Fix the PHP 5.4

PHP 5.4 Call-time Pass-by-Reference 문제 수정

PHP 5.4 도입으로 Call-time Pass- 참조에 의한 호출로 인해 "참조에 의한 호출 시간이 제거되었습니다." 오류가 발생합니다. 이 오류는 레거시 코드에서 변수가 참조로 함수에 전달될 때 발생합니다.

쉬운 수정 또는 완전 재작성?

이 문제를 쉽게 해결할 수는 없습니다. 문제는 함수 호출이 아닌 함수 정의에서 참조가 선언되는 방식에서 비롯됩니다. PHP 문서에는 "함수 호출에는 참조 기호가 없습니다. 함수 정의에만 있습니다."

레거시 코드 다시 작성

PHP가 호출에 대한 지원 중단 오류를 발행하기 시작한 이후 -time 버전 5.3의 참조별 전달에서는 잠재적인 호환성 문제를 방지하기 위해 레거시 코드를 다시 작성하는 것이 좋습니다. future.

예제 재작성

대신:

// Wrong way!
myFunc(&$arg); // Deprecated pass-by-reference argument
function myFunc($arg) { }

사용:

// Right way!
myFunc($arg); // pass-by-value argument
function myFunc(&$arg) { }

함수에서 참조 선언 정의를 통해 함수에서 더 이상 사용되지 않는 구문 없이도 PHP가 참조로 인수를 전달하는지 확인합니다. 전화하세요.

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

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