P粉6172377272023-08-25 09:32:59
코드 블록(루프, 조건문) 내에서는 사용할 수 있지만 functions 내에서는 사용할 수 없습니다. 함수 내에서 사용하려면 global
키워드를 사용해야 합니다:
공식 문서에서 PHP 변수 범위에 대해 자세히 알아볼 수 있습니다 :)
P粉4669094492023-08-25 09:01:17
PHP 코드 블록에 너무 많은 의미를 부여하고 있습니다.
이것은 세계적인 일이 아닙니다.
이 블록은 동일한 PHP 스크립트에 속합니다. 이는 HTML을 출력하는 좋은 방법일 뿐이며 다른 의미는 없습니다. 아무런 차이 없이 echo HTML로 대체할 수 있습니다.
전체 PHP 스크립트는 반복적인 방식이 아닌 한 번에 실행됩니다. 상상할 수 있듯이 PHP 블록이 서버 측에서 실행된 다음 HTML 블록이 클라이언트 측에서 실행되고 다시 서버 측으로 돌아오는 것을 생각해 보세요. PHP 블록이 실행되는 위치 등을 비유합니다. 이것은 잘못된 것입니다.
전체 PHP 스크립트는 서버 측에서 실행되며 결과는 브라우저에 일반 HTML로 표시되고 종료됩니다.
이것이 동일한 PHP 스크립트에서 HTML 양식과 해당 핸들러를 모두 작성할 수 없는 이유입니다. 전자 뒤에 후자를 넣으면 됩니다. 핸들러가 작동하려면 서버를 다시 호출해야 합니다. 이것은 완전히 다른 통화, 동일한 스크립트의 또 다른 인스턴스가 될 것이며 이전 통화에 대해 아무것도 모르는, 종료된 지 오래되었습니다. 이것은 또한 PHP에 대해 알아야 할 또 다른 사항입니다:
PHP 스크립트 실행은 원자적입니다. 이는 브라우저에서 지속적으로 실행되는 데스크톱 애플리케이션이나 데스크톱 애플리케이션에 지속적으로 연결을 유지하는 데몬과도 다릅니다. 이는 명령줄 유틸리티에 더 가깝습니다. 작업을 수행하고 종료합니다. 개별적으로 실행됩니다: