PHP Variable Scope

PHP Variable Scope

Understand PHP and Programming

The scope of a variable in PHP is the context in which it is defined and accessible. In other words, it determines where a variable can be used in the code and whether it is accessible.

In PHP, there are two types of variable scope:

Local scope

Global scope

Local scope means that a variable defined within a function or block of code is only accessible within that function or block of code.

A variable defined outside of a function or block of code has a global scope and can be accessed from anywhere in the code.

The global keyword in PHP also allows you to access variables from the global scope within a function or block of code. This allows you to use a variable defined in the global scope within a function or block of code without having to pass it as an argument to the function.

Want an example of how variable scope works in PHP? Here you go.

// Global scope
$city_global = 'Kampala';

function myFunction() {
  // Local scope
  $city_local = 'Lagos';

  echo $city_local; // Outputs Lagos
  echo $city_global; // Outputs Kampala (accessing a variable from the global scope)


echo $city_local; // Undefined variable error

$city_global is defined in the global scope in this example and is accessible from within the myFunction function. $city_local is defined in the myFunction function and is only accessible within it. If you try to access $city_local outside of the function, an undefined variable error will occur.

   global scope
  |          |
  | function |
  |          |
     local scope

In this example, the global scope represents the main program or script that is running. The function represents a function defined within the program. The local scope represents variables that are defined within the function and are only accessible within that function.

Variables defined in the global scope are accessible to all functions and can be accessed and modified by them. Variables defined in the local scope are only accessible within the function in which they are defined, and they cannot be accessed or modified by functions outside of that function.

I hope this helps! Please let me know if you have any further questions in the comments below.