Home  >  Article  >  Backend Development  >  PHP global variables_PHP tutorial

PHP global variables_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:34:36990browse

<?<span php
</span><span $name</span> = "why"<span ;
</span><span function</span><span  changeName(){
    </span><span $name</span> = "what"<span ;
}<br />changeName();
</span><span echo</span> "my name is " . <span $name</span> . "<br/>"<span ;
</span>?>

The result of executing the code is: my name is why, instead of what is displayed after executing changeName(). Analyzing the reason, this is because the $name variable in the function body changeName is set to a local variable by default, and the scope of $name is within changeName. So, modify the code and add global variables as follows:

<?<span php
</span><span global</span> <span $name</span><span ;
</span><span $name</span> = "why"<span ;
</span><span function</span><span  changeName(){
    </span><span $name</span> = "what"<span ;
}<br />changeName();
</span><span echo</span> "my name is " . <span $name</span> . "<br/>"<span ;
</span>?>

Note:

 After defining the global variable, the execution result is still my name is why. This result surprised me. It turns out that the correct usage of " In other words, when a function When referencing an external variable, you can declare the variable through global within the function, so that the variable can be used in the function (equivalent to passing it in as a parameter). Then, modify the code again:

<?<span php
</span><span $name</span> = "why"<span ;
</span><span function</span><span  changeName(){
    </span><span global</span> <span $name</span><span ;
    </span><span $name</span> = "what"<span ;
}
changeName();
</span><span echo</span> "my name is " . <span $name</span> . "<br/>"<span ;
</span>?>

The result of this operation is: my name is what, indicating that

<?<span php
</span><span $name</span> = "why"<span ;
</span><span function</span><span  changeName(){
    </span><span global</span> <span $name</span><span ;
    </span><span $name</span> = "what"<span ;
}
</span><span function</span><span  changeName2(){
    </span><span $name</span> = "where"<span ;
}
changeName();
changeName2();
</span><span echo</span> "my name is " . <span $name</span> . "<br/>"<span ;
</span>?>

 

<?<span php
</span><span $name</span> = "why"<span ;
</span><span function</span><span  changeName(){
    </span><span $GLOBALS</span>['name'] = "what"<span ;
}
changeName();
</span><span echo</span> "my name is " . <span $name</span> . "<br/>"<span ;
</span>?>

 

<?<span php
</span><span $var1</span> = 1<span ;
</span><span $var2</span> = 2<span ;
</span><span function</span><span  test1(){
    </span><span $GLOBALS</span>['var2'] = &<span $GLOBALS</span>['var1'<span ];
}
test1();
</span><span echo</span> <span $var2</span> . "<br />"<span ;

</span><span $var3</span> = 1<span ;
</span><span $var4</span> = 2<span ;
</span><span function</span><span  test2(){
    </span><span global</span> <span $var3</span>,<span $var4</span><span ;
    </span><span $var4</span> = &<span $var3</span><span ;
}
test2();
</span><span echo</span> <span $var4</span> . "<br />"<span ;
</span>?>

 ; to access them. Unlike all other superglobal variables, $GLOBALS is always available in PHP. Another example:

<?<span php
</span><span $var1</span> = 1<span ;
</span><span function</span><span  test1(){
    </span><span unset</span>(<span $GLOBALS</span>['var1'<span ]);
}
test1();
</span><span echo</span> <span $var1</span> . "<br />"<span ;

</span><span $var2</span> = 1<span ;
</span><span function</span><span  test2(){
    </span><span global</span> <span $var2</span><span ;
    </span><span unset</span>(<span $var2</span><span );
}
test2();
</span><span echo</span> <span $var2</span><span ;
</span>?>

 

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/749824.htmlTechArticle? = "why" = "what" changeName(); "my name is " . . "br/" ? The result of executing the code is: my name is why, instead of what is displayed after executing changeName(). Analyzing the reason, this is because the function body...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn