>  기사  >  백엔드 개발  >  PHP에서 전역 변수를 정의하는 방법은 무엇입니까?

PHP에서 전역 변수를 정의하는 방법은 무엇입니까?

怪我咯
怪我咯원래의
2017-06-19 14:41:087766검색

Global은 PHP의 특수 명령입니다. 모두가 이를 super globalvariable이라고 부릅니다. 이제 저는 Global을 사용하여 전역 학습 노트를 정의한다는 점을 소개하겠습니다.

저는 PHP의 변수 범위와 변수에 익숙하지 않습니다. 글로벌 세계는 완전히 고립되어 있습니다. 즉, 서로 접근할 수 없습니다.
예:

코드는 다음과 같습니다.

$test = 123;
 abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}$test = 123;
abc(); //这里什么都不输出,因为访问不到$test变量
function abc(){
    echo($test);
}

함수 내부의 외부 변수에 액세스하려면 다음을 수행해야 합니다.

코드는 다음과 같습니다.

$test = 123;
 abc(); //输出123
function abc(){
    global $test;
    echo($test);
}$test = 123;
abc(); //输出123
function abc(){
    global $test;
    echo($test);
}

하지만 정의하면 어떻게 될까요?

코드는 다음과 같습니다.

function abc(){
    global $test;
    $test = 123;
}
abc();
echo($test); //输出123function abc(){
 global $test;
 $test = 123;
}
abc();
echo($test);

//Output 123

이런 식으로 함수 내부에 정의된 변수에 외부에서 접근할 수 있습니다.
사용자 custom function, 로컬 함수 범위가 소개됩니다. 함수 내에서 사용되는 모든 변수는 기본적으로 로컬 함수 범위로 제한됩니다(includerequire로 가져온 파일의 변수 포함)!
설명: Test_Global은 A.php 파일에 정의되어 있습니다. 타사 함수, 이 함수는 B.php 파일에서 $a의 전역 전역 변수를 가져오기 위해 include를 사용하므로 $a는 Test_Global 로컬 함수의 범위로 제한되므로 B.php 파일의 $a 범위는 Test_Global 내부에 있습니다. 전체 A.php에 영향을 미치는 대신...
해결책:
1. 로컬 함수를 분리합니다
//A.php 파일

코드는 다음과 같습니다.

<?php
function Test_Global()
{  
    Test();  
}  
include &#39;B.php&#39;;   //将include 从局部Test_Global函数中移出
$a = 0 ;
Test_Global();
echo $a;
?> 
//B.php 文件
<?php
function Test()
{
    global $a;
    $a =1;
}
?>

2. 우수한 접근자

코드는 다음과 같습니다. 다음:

//A.php 파일

<?php
include &#39;B.php&#39;; 
$a =0;
Set_Global($a);
echo $a;
?> 
//B.php 文件
<?php
function Set_Global(&$var)
{
    $var=1;
}
?>

위 내용은 PHP에서 전역 변수를 정의하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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