php - 변수 정의에 관한 질문
过去多啦不再A梦
过去多啦不再A梦 2017-06-07 09:23:08
0
5
760

저는 초보자입니다. 집에서 phpstorm을 사용하여 다음 코드를 작성하면 오류 없이 실행됩니다.
코드는 다음과 같습니다.


<?php
$x=5; // 전역 변수
function myTest()
{

으아악

}
myTest();
echo "<p>테스트 함수 외부 변수:<p>";
echo "변수 x는: $x";
echo "
";
echo "변수 y는: $ y";
?>


근데 작업 중일 때 브라우저에서 다음과 같이 이 프롬프트를 보고했습니다.
테스트 함수의 변수:
주의사항: 정의되지 않은 변수: 8행의 F:WEBDEVELOPIndex.php의 x
변수 x는 다음과 같습니다.
변수 y is: 10
함수 외부의 테스트 변수:
변수 x: 5
주의사항: 정의되지 않은 변수: 18행 F:WEBDEVELOPIndex.php의 y
변수 y:

질문:
PHP 튜토리얼을 읽고 있는데 $를 사용하여 변수를 정의할 수 있다고 했는데 x 변수가 선언되지 않았다는 메시지가 표시되었습니다. 누군가 제게 설명해 주실 수 있나요? 감사합니다

过去多啦不再A梦
过去多啦不再A梦

모든 응답(5)
女神的闺蜜爱上我
  1. 집에서는 오류가 보고되지 않지만 회사에서는 PHP의 오류 수준 설정이 다르기 때문에 오류가 보고되는 것 같습니다. 코드 시작 부분에 다음 코드를 추가해 보세요.

    error_reporting(E_ALL ^ E_NOTICE);// 除了E_NOTICE之外,报告所有的错误
    이는 동적으로 설정되며 php.ini에서도 설정할 수 있습니다. 구체적인 방법은 Baidu에서 찾을 수 있습니다.

  2. 함수에 포함된 변수는 외부에 공개되지 않습니다. 외부에서 설정하면 내부에서 사용할 수 없습니다. 이는 PHP 버전과 관련이 없습니다. 자세한 내용은 위에서 설명합니다.

迷茫

PHP 전역 변수는 여기에 자세히 설명되어 있습니다

전역 변수를 외부에서 정의하려면 함수 내에서 사용할 때 문법 요구사항인 global 키워드를 사용하거나 $GLOBAL 배열을 사용해야 합니다

女神的闺蜜爱上我

글로벌 변수로 선언해야 하며, 그때에만 global $x

;
巴扎黑

"scope"라는 키워드로 검색하시면 언어마다 변수 범위가 달라서 비교해서 이해하실 수 있습니다.

曾经蜡笔没有小新

테스트 중인 PHP 버전과 작업 환경의 PHP 버전을 살펴보세요. 새 버전에서는 잘 모르겠습니다. 5.3 및 5.6의 전역 변수 범위에는 함수 내부가 포함되지 않으므로 해당 변수가 범위에 없기 때문에 함수가 $x를 인식하지 못하는 것이 정상입니다. 기능

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿