Explain PHP variable scopes (local, global, static).
Explain PHP variable scopes (local, global, static).
1. Local Scope
- A local variable is declared within a routine and it is only accessible within the routine.
- It does not exist outside the function.
Example:
function greet() {
$message = “Hello, World!”; // local variable
echo $message;
}
greet(); // Outputs: Hello, World!
echo $message; // ERROR: Undefined variable
Key point: Local variables are temporary and exist only during the function execution.
2. Global Scope
- A global variable is defined outside any function, usually at the top of a script.
- By default, functions cannot access global variables directly.
- To use them inside a function, you need the global keyword or the $GLOBALS array.
Example using global:
$name = “Abarna”; // global variable
function showName() {
global $name; // import global variable
echo $name;
}
showName(); // Outputs: Abarna
Example using $GLOBALS:
$age = 25; // global variable
function showAge() {
echo $GLOBALS[‘age’]; // access global variable
}
showAge(); // Outputs: 25
Key point:There are global variables which can be accessed within functions, and are given special treatment all over the script.
3. Static Scope
- A static variable is declared inside a function using the static keyword.
- Unlike normal local variables, its value persists between function calls.
- Useful for counters or retaining previous values without using global variables.
Example:
function counter() {
static $count = 0; // static variable
$count++;
echo $count . ” “;
}
counter(); // Outputs: 1
counter(); // Outputs: 2
counter(); // Outputs: 3
Key point: Static variables are local in scope but persistent in value.
Good one! This is a clear breakdown of variable scopes in PHP. Understanding local, global, and static variables is essential for writing clean and predictable code. Local variables keep data temporary within a function, global variables allow cross-function access when explicitly declared, and static variables give the best of both worlds by maintaining state across function calls without polluting the global scope
Thanks for sharing this breakdown, it’s a very clear explanation of local, global, and static scope in PHP. Understanding how variables behave in different scopes is essential for writing clean, efficient, and bug-free code.