PHP 프로그래머의 경우 다양한 버전의 PHP가 업데이트되고 일부 함수 변수 메커니즘이 개선됨에 따라 다양한 버전에서 동일한 변수를 사용하면 서로 다른 결과가 생성되어 혼동을 일으키는 경우가 많습니다. 그래서 이 글에서는 주로 PHP5와 PHP7 버전에서 동일한 전역 변수를 사용할 때 왜 다른 결과가 발생하는지 자세히 설명합니다. 간단하고 이해하기 쉬운 예를 들어보겠습니다.
예를 들어 현재 exl.php의 페이지 연산 코드는 다음과 같습니다.
로컬 php5 버전 환경에서 실행했을 때의 결과는 아래 스크린샷과 같이 5입니다.
그런 다음 php7 버전 환경에서 실행합니다. 결과는 아래 스크린샷과 같이 3입니다.
연산 결과가 다른 이유는 실제로 최신 php7 버전에서는 PHPglobal 변수 처리 메커니즘이 이 버전에서는 이제 전역 키워드가 단순 변수만 참조할 수 있습니다. 그래서 로컬 php5 버전 환경에서 동작할 때 $y의 출력값은 $x+$y=5가 됩니다. 이때 global은 전역 변수를 사용하는 것과 같습니다. php7 환경에서는 $y의 출력 값은 $y=3입니다. 이때 전역 변수는 단순 변수 $y만 직접 참조할 수 있습니다.
그래서 위의 샘플 코드 설명을 통해, 다른 버전에서 작동할 때 다른 결과를 생성하는 PHP의 전역 변수 문제에 대한 이 기사가 관련 문제에 직면할 때 모든 사람에게 도움이 되기를 바랍니다. 버전에 따라 PHP 글로벌의 사용법을 이해할 수 있습니다.
【관련 추천 글】
전역 변수가 유효하지 않거나 잘못된 이유는 무엇인가요?