PHP 스크립트에서 나는 $GLOBALS['someName'] = someValue
을 사용하여 스크립트 시작 부분에 전역 변수를 정의합니다. 이 전역 변수는 require
을 사용하여 나중에 스크립트에로드되는 someFunction
에 의해 사용됩니다. 내가 맞다면 스크립트 시작 부분에 $someName = someValue
을 설정하고 $someName
을 전체적으로 사용할 수 있어야합니다. 그러나이 작업을 수행 할 때 에는 $someName
을 사용할 수 없습니다. 그것은 $GLOBALS['someName']
을 사용할 때만 작동합니다. $someName
은 PHP 스크립트의 시작 부분에서 정의 할 때 왜 전역 변수로 작동하지 않습니까?require_once 파일에서 PHP의 전역 변수를 사용할 수없는 이유는 무엇입니까?
0
A
답변
1
함수 외부에서 변수를 정의하면 함수는 페이지에서 전역이지만 함수에서는 액세스 할 수 없습니다.
당신은
global
키워드를 사용해야합니다 : 다른 함수에서 변수 글로벌 및 사용하려면 두 가지 방법이 있습니다. 따라서 함수의 처음에global $someName
이라고 쓰고 함수에서 정상적으로 사용하십시오.전역 변수를
global $someName
으로 다시 정의하지 말고 직접$GLOBALS['someName']
으로 사용하십시오.
자세한 내용은 this을 참조하십시오.
0
좋아의가 적절한 예제를 제공하자 :
이나는 세계에 접근 보여 PHP에서 대화 형 터미널을 엽니 다.
Interactive mode enabled
php > $myvar = "yves";
php > function testing() { echo $myvar; }; testing();
PHP Notice: Undefined variable: myvar in php shell code on line 1
php > function testing_with_global() { global $myvar; echo $myvar; }
php > testing_with_global();
yves
php >
또는 $GLOBALS['myvar']
으로 글로벌에 액세스 할 수 있습니다.
하지만 정말로 이것을하고 싶지는 않습니다. why을 참조하십시오.
관련 문제
- 1. QThread 기반 클래스에서 전역 변수를 사용할 수없는 이유는 무엇입니까?
- 2. 전역 변수를 증가시킬 수없는 이유는 무엇입니까?
- 3. LoginView에서 반복 변수를 사용할 수없는 이유는 무엇입니까?
- 4. PHP의 변수 require_once 파일 경로
- 5. addEventListener 함수가 전역 변수를 가져올 수없는 이유는 무엇입니까?
- 6. 전역 변수에서 객체 함수를 사용할 수없는 이유는 무엇입니까?
- 7. PHP에서 require_once 함수의 반환 값을 가져올 수없는 이유는 무엇입니까?
- 8. constants.rb의이 변수를 전역 변수로 선언해야하는 이유는 무엇입니까?
- 9. 여러 소스 파일에서 사용할 전역 변수 정의
- 10. C : # 코드 파일에서 Request.ServerVariables [ "ALL_HTTP"]를 사용할 수없는 이유는 무엇입니까?
- 11. ControlTemplate을 사용할 수없는 이유는 무엇입니까?
- 12. TinyMCE를 사용할 수없는 이유는 무엇입니까?
- 13. strerror를 사용할 수없는 이유는 무엇입니까?
- 14. system.web을 사용할 수없는 이유는 무엇입니까?
- 15. 문자열을 사용할 수없는 이유는 무엇입니까?
- 16. F # : 느슨한 함수에서 선택적 매개 변수를 사용할 수없는 이유는 무엇입니까?
- 17. 변수를 사용할 수없는 이유는 무엇입니까? 아래의 코드 블록에서
- 18. 저장 프로 시저에서 테이블 이름으로 변수를 사용할 수없는 이유는 무엇입니까?
- 19. __init__ 키워드 arg에 클래스 변수를 사용할 수없는 이유는 무엇입니까?
- 20. switch 문에서 최종 변수를 사용할 수없는 이유는 무엇입니까?
- 21. const 문자열 변수를 만들 때 String.Empty를 사용할 수없는 이유는 무엇입니까?
- 22. 꼬리 재귀를 수행하기 위해 정적 변수를 사용할 수없는 이유는 무엇입니까?
- 23. 실행 즉시 선언문에서 바인드 변수를 사용할 수없는 이유는 무엇입니까?
- 24. 이 PHP 코드에서 양식 변수를 사용할 수없는 이유는 무엇입니까?
- 25. 템플릿 클래스 인 상위 클래스의 변수를 사용할 수없는 이유는 무엇입니까?
- 26. 내 정적 변수를 main 메소드에서 사용할 수없는 이유는 무엇입니까?
- 27. mod_rewrite : 재귀를 방지하기 위해 환경 변수를 사용할 수없는 이유는 무엇입니까?
- 28. XSL 템플릿 선택기 조건부에서 변수를 사용할 수없는 이유는 무엇입니까?
- 29. C#에서 지역 변수를 휘발성으로 사용할 수없는 이유는 무엇입니까?
- 30. "action"이라는 매개 변수를 사용할 수없는 이유는 무엇입니까?
함수에 전역 변수를 사용하고 로컬 변수를 생성하지 말 것을 PHP에 지시해야합니다. 'global $ someName; '또는'$ GLOBALS [ "someName"]'을 사용하십시오. – Rizier123
* 힌트 * : 전역을 사용하는 실제적으로 나쁜 습관 – Jonathan
대신 $ _SESSION 또는 $ _COOKIES를 사용하십시오. $ _SESSION도 $ _SESSION [ 'somename']처럼 훨씬 더 안전하고 안전합니다. –