>  기사  >  PHP5 및 PHP7에서 전역 변수 메커니즘의 변경 사항은 무엇입니까? (코드 실제 ​​테스트)

PHP5 및 PHP7에서 전역 변수 메커니즘의 변경 사항은 무엇입니까? (코드 실제 ​​테스트)

藏色散人
藏色散人원래의
2018-08-09 12:14:437036검색

PHP 프로그래머의 경우 다양한 버전의 PHP가 업데이트되고 일부 함수 변수 메커니즘이 개선됨에 따라 다양한 버전에서 동일한 변수를 사용하면 서로 다른 결과가 생성되어 혼동을 일으키는 경우가 많습니다. 그래서 이 글에서는 주로 PHP5와 PHP7 버전에서 동일한 전역 변수를 사용할 때 왜 다른 결과가 발생하는지 자세히 설명합니다. 간단하고 이해하기 쉬운 예를 들어보겠습니다.

예를 들어 현재 exl.php의 페이지 연산 코드는 다음과 같습니다.

PHP5 및 PHP7에서 전역 변수 메커니즘의 변경 사항은 무엇입니까? (코드 실제 ​​테스트)

로컬 php5 버전 환경에서 실행했을 때의 결과는 아래 스크린샷과 같이 5입니다.

PHP5 및 PHP7에서 전역 변수 메커니즘의 변경 사항은 무엇입니까? (코드 실제 ​​테스트)

그런 다음 php7 버전 환경에서 실행합니다. 결과는 아래 스크린샷과 같이 3입니다.

PHP5 및 PHP7에서 전역 변수 메커니즘의 변경 사항은 무엇입니까? (코드 실제 ​​테스트)

연산 결과가 다른 이유는 실제로 최신 php7 버전에서는 PHPglobal 변수 처리 메커니즘이 이 버전에서는 이제 전역 키워드가 단순 변수만 참조할 수 있습니다. 그래서 로컬 php5 버전 환경에서 동작할 때 $y의 출력값은 $x+$y=5가 됩니다. 이때 global은 전역 변수를 사용하는 것과 같습니다. php7 환경에서는 $y의 출력 값은 $y=3입니다. 이때 전역 변수는 단순 변수 $y만 직접 참조할 수 있습니다.

그래서 위의 샘플 코드 설명을 통해, 다른 버전에서 작동할 때 다른 결과를 생성하는 PHP의 전역 변수 문제에 대한 이 기사가 관련 문제에 직면할 때 모든 사람에게 도움이 되기를 바랍니다. 버전에 따라 PHP 글로벌의 사용법을 이해할 수 있습니다.

【관련 추천 글】

전역 변수가 유효하지 않거나 잘못된 이유는 무엇인가요?

global 및 $GLOBAL['']

PHP 소스 코드 분석의 전역 키워드

php의 global 및 $GLOBALS


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