Home Backend Development PHP Tutorial 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

May 08, 2017 am 10:55 AM

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();    //调用函数
?>
Copy after login

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

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

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();    //调用函数
?>
Copy after login

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

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

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;
?>
Copy after login

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 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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1677
14
PHP Tutorial
1279
29
C# Tutorial
1257
24
PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

The Continued Use of PHP: Reasons for Its Endurance The Continued Use of PHP: Reasons for Its Endurance Apr 19, 2025 am 12:23 AM

What’s still popular is the ease of use, flexibility and a strong ecosystem. 1) Ease of use and simple syntax make it the first choice for beginners. 2) Closely integrated with web development, excellent interaction with HTTP requests and database. 3) The huge ecosystem provides a wealth of tools and libraries. 4) Active community and open source nature adapts them to new needs and technology trends.

What happens if session_start() is called multiple times? What happens if session_start() is called multiple times? Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

The Compatibility of IIS and PHP: A Deep Dive The Compatibility of IIS and PHP: A Deep Dive Apr 22, 2025 am 12:01 AM

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

What is the significance of the session_start() function? What is the significance of the session_start() function? May 03, 2025 am 12:18 AM

session_start()iscrucialinPHPformanagingusersessions.1)Itinitiatesanewsessionifnoneexists,2)resumesanexistingsession,and3)setsasessioncookieforcontinuityacrossrequests,enablingapplicationslikeuserauthenticationandpersonalizedcontent.

Composer: Aiding PHP Development Through AI Composer: Aiding PHP Development Through AI Apr 29, 2025 am 12:27 AM

AI can help optimize the use of Composer. Specific methods include: 1. Dependency management optimization: AI analyzes dependencies, recommends the best version combination, and reduces conflicts. 2. Automated code generation: AI generates composer.json files that conform to best practices. 3. Improve code quality: AI detects potential problems, provides optimization suggestions, and improves code quality. These methods are implemented through machine learning and natural language processing technologies to help developers improve efficiency and code quality.

Using Laravel: Streamlining Web Development with PHP Using Laravel: Streamlining Web Development with PHP Apr 19, 2025 am 12:18 AM

Laravel optimizes the web development process including: 1. Use the routing system to manage the URL structure; 2. Use the Blade template engine to simplify view development; 3. Handle time-consuming tasks through queues; 4. Use EloquentORM to simplify database operations; 5. Follow best practices to improve code quality and maintainability.

PHP and IIS: Making Them Work Together PHP and IIS: Making Them Work Together Apr 21, 2025 am 12:06 AM

Configuring and running PHP on IIS requires the following steps: 1) Download and install PHP, 2) Configuring IIS and adding FastCGI module, 3) Create and set up an application pool, 4) Create a website and bind to an application pool. Through these steps, you can easily deploy PHP applications on your Windows server and improve application stability and efficiency by configuring scaling and optimizing performance.

See all articles