php
  • global-variables
  • 2012-04-27 8 views 0 likes 
    0

    2 개의 파일이 있습니다. 말할 수 :PHP에서 전역 변수 지정

    echo=blah 
    echo2=blah 
    echo3= 
    echo4= 
    

    내 질문은 "된다

    first.php

    $a = 'blah'; 
    echo 'echo2='.$a; 
    
    function foo(){ 
    global $a; 
    echo 'echo3='.$a; 
    return $a; 
    } 
    

    second.php

    require_once(path/to/the/file/first.php); 
    echo 'echo='.$a; 
    $b = foo(); 
    echo 'echo4='.$b; 
    

    내가 다음과 같은 출력을 얻을 second.php 파일을 실행 왜 foo 함수에서 변수 $ a에 액세스 할 수 없습니까?

    +1

    또한'require_once'와 구문 오류가 있습니다 사용합니다. 정확한 코드를 제공하지 않으면 추측이 아닌 대답 만 얻을 수 있습니다. 특히 include가 함수 지역 변수 범위 내에서 발생하면'$ a ='선언은 전역 변수가 아닙니다. – mario

    +0

    php.ini의'register_globals'가 off로 설정되어 있습니다. 귀하의 답변 주셔서 감사합니다! – Reaver

    답변

    3

    변경 $global에서 global으로 변경하십시오. 그것은 그것을 고쳐야한다.

    http://php.net/manual/en/language.variables.scope.php

    +0

    그건 그냥 실수 였어! 내 질문에 게시 편집! – Reaver

    1

    또는

    $GLOBALS["Your_var_without_dollar_sign"]; 
    

    http://php.net/manual/en/reserved.variables.globals.php

    관련 문제