1 min read

PHP Variable Scope

In PHP, variables can be declared anywhere in the script. The scope of a variable is the part of the script where the variable can be referenced/used.

PHP has three different variable scopes:

  1. Local
  2. Global
  3. Static

1. Local Scope

A variable declared within a function has a LOCAL SCOPE and can only be accessed within that function.

function myTest() {
  $x = 5; // local scope
  echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// echo $x; // Error: Undefined variable $x

2. Global Scope

A variable declared outside a function has a GLOBAL SCOPE and can only be accessed outside a function.

To access a global variable from within a function, use the global keyword.

$x = 5;
$y = 10;

function myTest() {
  global $x, $y;
  $y = $x + $y;
}

myTest();
echo $y; // outputs 15

3. Static Scope

Normally, when a function is completed/executed, all of its variables are deleted. However, sometimes we want a local variable NOT to be deleted. We need it for a further job.

To do this, use the static keyword when you first declare the variable.

function myTest() {
  static $x = 0;
  echo $x;
  $x++;
}

myTest(); // 0
myTest(); // 1
myTest(); // 2

programming/php/php