Home > Backend Development > PHP Tutorial > Introduction to the difference between global and $GLOBALS in php

Introduction to the difference between global and $GLOBALS in php

黄舟
Release: 2023-03-16 11:14:01
Original
1172 people have browsed it

1.global

The function of Global is to define global variables, but this global variable does not apply to the entire website, but to the current page, including all files in include or require.

However, global variables defined within the function body can be used within the function body, while global variables defined outside the function body cannot be used within the function body. See the example below for details.

(1) Define global variables within the function body, which can be used within the function body.


<?PHP 
$a=123; 
function aa() 
{ 
Global $a; //把$a定义为global变量。 echo $a; //调用函数体外的变量} 
aa(); //输出结果为123,说明函数体内可以使用函数体外的变量;?>
Copy after login

(2) Define global variables outside the function body and cannot use them inside the function body.


<?PHP 
$a=123; 
Global $a; //在函数体外把$a定义为global变量。 function aa() 
{  
  echo $a; 
} 
aa();//会报错,不能输出变量a。?>
Copy after login

2.$GLOBALS

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 $GLOBALS is a superglobal variable. Pay attention to the writing method of $GLOBALS. For example, the variable $a1 is written as $GLOBALS['a1'].

Example: First use global definition


<?PHP 
$a1 = 1; 
$a2 = 2; 
function Sum() 
{ 
  global a1, a2;a2 = a1 + a2; //定义变a1和a2;}
Sum(); 
echo a2; //输出结果为3?>
Copy after login

Use $GLOBALS to define global variables


<?PHP 
$a1 = 1; 
$a2 = 2;function Sum() 
{ 
  $GLOBALS[&#39;a1&#39;] = $GLOBALS[&#39;a1&#39;] + $GLOBALS[&#39;a2&#39;]; //定义变量时每个都要定义}
Sum(); 
echo a2; //输出结果为2?>
Copy after login

eg: global


function test() 
{ 
    global $a;//定义全局变量a 
    unset($a); //删除变量a
    //print $a;//会报错,因为unset已经把$a删除了。 } 
$a = 2; //定义一个变量atest(); //调用test()方法print $a; //输出a,输出的其实是$a = 2,所以结果为2.
Copy after login

eg: $GLOBALS


function test_global() 
{ 
    global $var1, $var2; 
    $var2 =& $var1; 
} 
function test_globals() 
{ 
    $GLOBALS[&#39;var3&#39;] =& $GLOBALS[&#39;var1&#39;]; 
} 
$var1 = 5; 
$var2 = $var3 = 0; 

test_global(); 
print $var2; //输出结果为0test_globals(); 
print $var3; //输结果为5
Copy after login

The above is the detailed content of Introduction to the difference between global and $GLOBALS in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template