PHP Global Variables

PHP Tutorial

PHP Global Variables – Complete Beginner Guide With Examples

Introduction to Global Variables in PHP

In PHP, global variables are variables that can be accessed from any part of the script, including inside functions, classes, and other scopes — if properly declared.

Understanding global variables is important because PHP uses them in:

  • Form handling

  • Session management

  • File uploads

  • Server information

  • Database connections

PHP also provides several built-in superglobal variables that are always accessible everywhere in your script.

In this guide, you’ll learn:

  • What global variables are

  • Variable scope in PHP

  • How to use the global keyword

  • What superglobals are

  • Real-world examples


What Is Variable Scope in PHP?

Before understanding global variables, you must understand variable scope.

Scope defines where a variable can be accessed.

PHP has three types of variable scope:

  1. Local scope

  2. Global scope

  3. Static scope


Local Scope in PHP

A variable declared inside a function has local scope.

It can only be accessed inside that function.

Example:


 

If you try to access $x outside the function, it will cause an error.


Global Scope in PHP

A variable declared outside a function has global scope.

Example:


 

This does NOT work because functions cannot access global variables directly.


Using the global Keyword

To access a global variable inside a function, use the global keyword.

Example:


 

Output:

5

The global keyword tells PHP to use the global variable instead of creating a new local one.


Using $GLOBALS Array

PHP also provides a built-in associative array called $GLOBALS.

It stores all global variables.

Example:


 

Output:

30

$GLOBALS can access global variables without using global.


What Are Superglobals in PHP?

Superglobals are predefined global variables that are always accessible, regardless of scope.

They include:

  • $_GET

  • $_POST

  • $_REQUEST

  • $_SERVER

  • $_SESSION

  • $_COOKIE

  • $_FILES

  • $_ENV

  • $GLOBALS

They do NOT require the global keyword.


 $_GET Superglobal

Used to collect data sent via URL parameters.

Example URL:

example.php?name=John

PHP Code:


 $_POST Superglobal

Used to collect form data sent via POST method.

Example:

PHP:


 $_SERVER Superglobal

Provides server and request information.

Example:

Useful for:

  • Debugging

  • Logging

  • Security checks


 $_SESSION Superglobal

Used to store data across multiple pages.

Example:

Commonly used in login systems.


 $_COOKIE Superglobal

Used to store small data in user’s browser.

Example:


Why Global Variables Are Important

Global variables are important for:

  • Sharing data across functions

  • Handling form data

  • Managing sessions

  • Accessing server information

  • Maintaining application state


Real-World Example – Simple Login System


 

Uses:

  • $_POST

  • $_SESSION

  • Global comparison


Risks of Using Global Variables

While useful, global variables can create problems:

  • Hard to track changes

  • Risk of accidental modification

  • Security vulnerabilities

  • Difficult debugging

Best practice: Use global variables carefully.


Static Variables vs Global Variables

Static variables keep their value between function calls.

Example:


 

Output:

12

Static is different from global.


Best Practices for Using Global Variables

  •  Use superglobals for form handling
  • Avoid excessive global variables
  • Validate user input
  •  Sanitize $_GET and $_POST
  •  Use sessions for login systems

Common Beginner Mistakes

 Forgetting global Keyword

Inside function:


Accessing $_POST Without Validation

Always check:


 Overusing Global Variables

Prefer passing variables as function parameters.


Global vs Passing Variables

Better practice:

Instead of:

Use:

Passing parameters makes code cleaner.


When Should You Use Global Variables?

Use global variables when:

  • Working with superglobals

  • Handling sessions

  • Managing configuration settings

Avoid using them unnecessarily.


Frequently Asked Questions (FAQs)

1. What is a global variable in PHP?

A global variable is a variable declared outside a function that can be accessed inside functions using the global keyword.


2. What is the $GLOBALS array?

$GLOBALS is a built-in associative array that stores all global variables.


3. What are superglobals in PHP?

Superglobals are predefined global variables like $_GET, $_POST, and $_SESSION that are always accessible.


4. Do superglobals need the global keyword?

No, superglobals are automatically accessible everywhere.


5. Is using global variables a good practice?

It is better to minimize global variables and pass data through function parameters for cleaner code.


Conclusion

PHP global variables allow you to share data across different parts of your script. They are especially useful when working with:

  • Forms

  • Sessions

  • Server data

  • Cookies

However, they should be used carefully to avoid complexity and security risks.

By mastering:

  • Variable scope

  • global keyword

  • $GLOBALS array

  • Superglobals

You can build more powerful and secure PHP applications.

You may also like...