Home  >  Article  >  Backend Development  >  How to use php global global variables

How to use php global global variables

怪我咯
怪我咯Original
2017-06-19 16:16:433922browse

Global variables and the "global" keyword

PHP defines some "Superglobals" variables by default. These variables are automatically globalized and can be called anywhere in the program. Such as $_GET and $_REQUEST, etc. They usually come from data or other external data, and using these variables usually does not cause problems because they are basically not writable. But you can use your own global variables. Using the keyword "global" you can import global data into the local scope of a function. If you don't understand "variable usage scope", please refer to the relevant instructions in PHP Manual. The following is a demonstration example using the "global" keyword:

<?php
$my_var = &#39;Hello World&#39;;
test_global();
function test_global() {
    // Now in local scope
     // the $my_var variable doesn&#39;t exist
     // Produces error: "Undefined variable: my_var"
    echo $my_var;
    // Now let&#39;s important the variable
    global $my_var;
    // Works:
    echo $my_var;
}
?>

As you can see in the above example, the "global" keyword is used to import of global variables. It looks like it works well and is simple, so why do we worry about using the "global" keyword to define global data?

Let me explain to those who are new to the industry the use of global variables, "global variables". The two words in this noun have told us that this variable is used in various It can be used everywhere, let’s look at an example first:

<?php
$a = 1;
$b = 2;
function Sum()
{
    global $a, $b; //在里面声明为全局变量
    $b = $a + $b;
}
Sum();
echo $b;
?>

Result: 3

If there is no global variable global, the values ​​​​of $a and $b cannot be obtained in the method, so think in the method To use external variables, you need to declare this variable as a global variable first, so that it can be used, which is very convenient.

<?PHP
      $w3sky = 1;
      $w3sky2 = 2;
function Sum()
       {
       global $w3sky, $w3sky2;$w3sky2 = $w3sky + $w3sky2;
       }Sum();
       echo $w3sky2;
       ?>

The output of the above script will be "3". Global variables $w3sky and $w3sky2 are declared in the function, and all reference variables of any variable will point to the global variables. PHP has no limit on the maximum number of global variables that can be declared by a function. The second way to access variables in the global scope is to use a special PHP custom $GLOBALS array. The previous example

can be written as:

The example uses $GLOBALS instead of global

<?PHP
       $w3sky = 1;
       $w3sky2 = 2;function Sum()
       {
       $GLOBALS[&#39;w3sky&#39;] = $GLOBALS[&#39;w3sky&#39;] + $GLOBALS[&#39;w3sky2&#39;];
       }Sum();
       echo $w3sky2;
       ?>
In the $GLOBALS array, each variable is an element, and the key name corresponds to Variable name, the value corresponds to the content of the variable. The reason $GLOBALS exists in the global scope is because $GLOBALS is a

superglobal variable

. The following example shows the use of superglobal variables:

Example demonstrating superglobal variables and scope examples

<?PHP
       function test_global()
       {
       // 大多数的预定义变量并不 "super",它们需要用 &#39;global&#39; 关键字来使它们在函
数的本地区域中有效。
       global $HTTP_POST_VARS;echo $HTTP_POST_VARS[&#39;name&#39;];// Superglobals 在任何
范围内都有效,它们并不需要 &#39;global&#39; 声明。Superglobals 是在 PHP 4.1.0 引入的。
       echo $_POST[&#39;name&#39;];
       }
       ?>
global That is to say, in a file As long as you declare it as global $db, you canrefer to this $db below the declaration
<?php
function SayMyABCs2()
{
     global $count;
     while($count<10)
        {
           print(chr(ord(&#39;A&#39;)+$count));
           $count=$count+1; 
        }
     print("<br>Now I know $count letters<br>");
}
$count=0;
SayMyABCs2();
$count=$count+1;
print("Now I&#39;ve made $count function call(s).<br>");
SayMyABCs2();
$count=$count+1;
print("Now I&#39;ve made $count function call(s).<br>");
?>
output:

ABCDEFGHIJ         //第一次循环依次打印10个大写字母
Now I know 10 letters
Now I&#39;ve made 11 function call(s).       //第二次由于条件大于10则不执行循环

Now I know 11 letters
Now I&#39;ve made 12 function call(s).

Since global has a variable declaration, there is now only one $count variable, which is incremented both inside and outside the function. When

calls SayMyABCs2() for the second time, $count is already 11, so it will not enter the printing of letters at all. cycle. The scope of the

variable defined within the function ## is limited to the function by default. Using the global statement, you can notify PHP that

now needs to be A variable name has the same meaning as it does in the environment outside the function. Declaration format: global,


$count1,$count2,...,$countn;

global is useful on the other hand, especially because PHP provides some variables that can be used in Its code is tied to each page before execution. It allows the function to see these variables without having to pass them into the function as parameters every time it is called. trouble

The above is the detailed content of How to use php global global 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