Variable Scopes: The scope of a variable is defined as its extent in the program within which it can be accessed, i.e. the scope of a variable is the portion of the program within which it is visible or can be accessed. Depending on the scopes, PHP has three variable scopes.
Local variables: The variables declared within a function are called local variables to that function and have their scope only in that particular function. In simple words, it cannot be accessed outside that function. Any declaration of a variable outside the function with the same name as that of the one within the function is a completely different variable. For now, consider a function as a block of statements.
Example:
PHP
<?php $num = 60; function local_var() { // This $num is local to this function // the variable $num outside this function // is a completely different variable $num = 50; echo "local num = $num <br>" ; } local_var(); // $num outside function local_var() is a // completely different variable than that of // inside local_var() echo "Variable num outside local_var() function is $num \n" ; ?> |
Output:
local num = 50 Variable num outside local_var() function is 60
Global variables: The variables declared outside a function are called global variables. These variables can be accessed directly outside a function. To get access within a function, we need to use the “global” keyword before the variable to refer to the global variable.
Example:
PHP
<?php $num = 20; // Function to demonstrate use of global variable function global_var() { // We have to use global keyword before // the variable $num to access within // the function global $num ; echo "Variable num inside function : $num \n" ; } global_var(); echo "Variable num outside function : $num \n" ; ?> |
Output:
Variable num inside function : 20 Variable num outside function : 20
Static variable: It is the characteristic of PHP to delete the variable, once it completes its execution and the memory is free. But sometimes we need to store the variables even after the completion of function execution. To do this, we use static keywords and the variables are called static variables. PHP associates a data type depending on the value for the variable.
Example:
PHP
<?php // Function to demonstrate static variables function static_var() { // Static variable static $num = 5; $sum = 2; $sum ++; $num ++; echo $num , "\n" ; echo $sum , "\n" ; } // First function call static_var(); // second function call static_var(); ?> |
Output:
6 3 7 3