Home  >  Article  >  Backend Development  >  What are global variables? Detailed explanation of global variable instances in the scope of PHP variables

What are global variables? Detailed explanation of global variable instances in the scope of PHP variables

伊谢尔伦
伊谢尔伦Original
2017-05-08 10:55:152395browse

What are global variables?

Global variables are also called external variables, which are defined outside the function. Its scope starts from the variable definition to the end of the program file. Unlike other programming languages, global variables are not automatically made available. In the previous chapter we introduced the local variables in the scope of php variables,In PHP, since functions can be regarded as separate program code fragments , so local variables will override the visibility of global variables, so global variables cannot be called directly in the function.

The code has the following format:

<?php
 $one = 10;
 $two = 20;
 // 测试在函数内部不能直接使用全局变量 $one 和 $two
 function sum(){
   // 在函数内部新声明并且没有赋初始值的两个变量
   echo "运算结果:".($one+$two)."<br>";
 }
 sum();    //调用函数
?>

The output result after the program is executed is as follows:

运算结果:0             // 两个变量没有初始值则为 NULL ,执行两个空值相加后结果为 0

In the above example, two global variables $one and $twe are declared outside the function sum(), but in PHP, global variables cannot be used directly in the function. Therefore, the variables used in the sum() function are $one and $twe, which are equivalent to two redeclared variables and are not assigned initial values. They are operations on two undefined null values, so the result is 0. If you want to use global variables in a function, you must use keywords to define the target variable, and the keyword of this global variable is "global". Using the keyword "global" you can import global data into Within the local scope of a function to tell the function body that this variable is a global variable.

The following uses the keyword "global" inside the function to call the global variable declared outside the function as an example:

<?php
 $one = 10;
 $two = 20;
 // 测试在函数内部使用关键字加载 global 全局变量 $one 和 $two
 function sum(){
   //在函数内部使用关键字加载 global 全局变量,加载多个使用逗号分隔
   global $one, $two;
   // 使用函数外部声明的全局变量
   echo "运算结果:".($one+$two)."<br>";
 }
 sum();    //调用函数
?>

The output result after the program is executed is as follows :

运算结果为 30         // 使用 global 关键字就可以加载全局变量在函数内使用

The "global" keyword is used to import global variables. It seems to work well and is simple, but there are still concerns about using the "global" keyword to define global data. Because there are three reasons:

1. Code reuse is almost impossible.

If a function depends on global variables, it is almost impossible to use this function in different environments. Another problem is that you can't extract this function and use it in other code.

2. Debugging and solving problems is very difficult.

Tracing a global variable is much more difficult than tracking a non-global variable. A global variable may be redefined in some obscure include file, and even if you have a very good program editor (or IDE) to help you, it will take you several hours to discover the problem.

3. It will be very difficult to understand these codes.

It is difficult for you to figure out where a global variable comes from and what it is used for. During the development process, you may know every global variable, but after about a year, you may forget at least some of them. At this time, you will regret that you used so many global variables.

$GLOBALS

Use global variables in functions. In addition to using the global keyword, you can also use special php customization $GLOBALS Array. The previous example could be written using $GLOBALS instead of global.

The code is as follows:

<?php
 $one = 10;
 $two = 20;
 function sum(){
   //在函数内部使用 $GLOBALS 访问全局变量,
   $GLOBALS["two"] = $GLOBALS["one"] + $GLOBALS["two"];
 }
 sum();    //调用函数
 echo $two;
?>

Explanation: In the $GLOBALS array, each variable is an element, the key name corresponds to the variable name, and the value corresponds to the variable's content. $GLOBALS exists in the global scope because it is a superglobal variable.

The above is the definition of global variables and the introduction of global variable examples in the scope of php variables. The next chapter will introduce what php's static static variables are.

【Recommended related tutorials】

1. "php.cn Dugu Jiujian (4)-php video tutorial"

2. php programming from entry to mastering a full set of video tutorials

3. php practical video tutorial

The above is the detailed content of What are global variables? Detailed explanation of global variable instances in the scope of PHP variables. For more information, please follow other related articles on the PHP Chinese website!

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