Swiftorial Logo
Home
Swift Lessons
Tutorials
Learn More
Career
Resources

PHP Development - Variable Scope

Introduction

In PHP, the scope of a variable determines its accessibility within the script. Understanding variable scope is essential for writing functions, controlling access to variables, and avoiding unintended side effects. This tutorial covers the different types of variable scopes in PHP and provides examples to help you understand how they work.

Types of Variable Scope

There are four main types of variable scope in PHP:

  • Local
  • Global
  • Static
  • Superglobal

Local Scope

Variables declared within a function are local to that function. They cannot be accessed outside the function.

Example:

<?php
function myFunction() {
    $localVar = "I am local";
    echo $localVar;
}
myFunction();
// Uncommenting the following line will cause an error
// echo $localVar;
?>
                
Output:
I am local

Global Scope

Variables declared outside any function have a global scope and can be accessed anywhere in the script, except inside functions unless you use the global keyword.

Example:

<?php
$globalVar = "I am global";

function myFunction() {
    global $globalVar;
    echo $globalVar;
}

myFunction();
echo $globalVar;
?>
                
Output:
I am global
I am global

Static Scope

Static variables retain their value even after the function has ended. They are initialized only once and their value is preserved across multiple function calls.

Example:

<?php
function myFunction() {
    static $staticVar = 0;
    $staticVar++;
    echo $staticVar;
}
myFunction();
myFunction();
myFunction();
?>
                
Output:
1
2
3

Superglobal Scope

Superglobal variables are built-in variables in PHP that are always accessible, regardless of scope. Examples include $_GET, $_POST, $_SESSION, $_COOKIE, etc.

Example:

<?php
$_GET['name'] = 'John';

function myFunction() {
    echo $_GET['name'];
}

myFunction();
?>
                
Output:
John

Conclusion

Understanding variable scope is crucial for effective PHP development. Local, global, static, and superglobal scopes each have their use cases and understanding how to use them correctly will help you write cleaner, more efficient code.

Practice using these scopes in your code to become more familiar with how they work and to avoid common pitfalls related to variable access and modification.