Home >Backend Development >PHP Problem >What are global variables in PHP variable learning? How to call in function

What are global variables in PHP variable learning? How to call in function

青灯夜游
青灯夜游Original
2021-08-09 15:34:134739browse

In the previous article "How does PHP dynamically set the name of a variable", we introduced the variable variables in PHP and learned about the method of dynamically setting the variable name. This time we will take a look at the method of calling global variables inside a function. You can refer to it if necessary.

Before introducing the method of calling global variables inside a function, let’s learn about variable scope and global variables.

Variable scope, simply put, is the range in which a variable can be used. It must be used within its effective range. If it exceeds the effective range, the variable will lose its meaning.

According to scope, variables can be divided into local variables and global variables.

Local variables refer to variables declared inside the function and can only be used within the function; global variables refer to variables declared outside the function, and their scope is anywhere in the current source code, but within the function is unavailable.

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$a;
	echo &#39;<br>$b = &#39;.$b;
	echo &#39;<br>$c = &#39;.$c;
}
demo();
?>

Analysis: If you want to output the global variables $a, $b, $c in the function demo(), you will find that there is no output and an error is reported:

What are global variables in PHP variable learning? How to call in function

But sometimes we have to use global variables within a function, what should we do?

PHP provides two solutions: global keywords and $GLOBALS super global variables.

Let’s take a look at the following example:

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
	global $a,$b,$c;
    echo &#39;$a = &#39;.$a;
    echo &#39;<br>$b = &#39;.$b;
    echo &#39;<br>$c = &#39;.$c;
}
demo();
?>

Look at the output result:

$a = 1
$b = 2
$c = 3

Analysis:

The role of the global keyword Yes: Import global variables, use the form global variable 1, variable 2, ... to import global variable 1, variable 2... into the local scope of a function, You can use global variables defined outside the function inside the function.

Let’s look at another example:

<?php
$a = 1;
$b = 2;
$c = 3;
function demo(){
    echo &#39;$a = &#39;.$GLOBALS[&#39;a&#39;];
    echo &#39;<br>$b = &#39;.$GLOBALS[&#39;b&#39;];
    echo &#39;<br>$c = &#39;.$GLOBALS[&#39;c&#39;];
}
demo();
?>

The output result is:

$a = 1
$b = 2
$c = 3

Analysis:

$GLOBALS is a A predefined variable (also called a superglobal variable) is a global combined array containing all variables. The name of the variable is the key of the array. You can use the form $GLOBALS['variable name'] to access the specified Global variables. As long as it is a global variable that has appeared, it can be obtained through the $GLOBALS array.

The difference between global and $GLOBALS

  • global can only be used inside the function, not outside the function; while $GLOBALS can be used in the program It can be used anywhere (inside and outside functions).

  • When a variable modified with the global keyword is destroyed inside a function, variables outside the function are not affected; $GLOBALS is.

    Reason:

    When using the global keyword to modify the $var variable, it is a reference to the variable of the same name outside the function, and the inside and outside are two variables that do not affect each other;

    And $GLOBALS['var'] refers to the external variable of the function itself, which is a variable.

Okay, that’s all. If you want to know anything else, you can click this. → →php video tutorial

Finally, I recommend a free video tutorial on PHP arrays: Enter the world of PHP from 0, come and learn!

The above is the detailed content of What are global variables in PHP variable learning? How to call in function. 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