Search This Blog

Wednesday, 13 February 2013

Various Types of Scope of Variables in PHP

0 comments

PHP Variable Scope
The scope of a variable, which is controlled by the location of the variable’s declaration, determines those parts of the program that access it. There are four types of variable scope in PHP: local, global, static and function parameters.
Local Scope:
A variable declared in a function is local to that function. That is, it is visible only to code in that function (including nested function definitions); it is not accessible outside the function. The following code illustrates this:
function update_counter($x)
{
$counter = $x;
echo $counter++;
}
update_counter(10);
This piece of code will display the value 11 during execution. It has a local variable named counter, which is assigned with the value of the parameter $x and then incremented. The incremented value 11 is available only within the function, because it is stored in a local variable.
Global Scope:
Variables declared outside a function are called global variables. Global variables can be accessed from any part of the program. However, by default, they are not available inside a function.
To allow a function to access a global variable, we have to declare the same variable inside the function with the global keyword. Here’s how we can rewrite the update_counter() to allow it to access the global $counter variable:
function update_counter( )
{
global $counter;
$counter++;
}
$counter = 10;
update_counter();
echo $counter;
This program will display the value 11 as its output. Because the global variable counter is declared again inside the function update_counter() as global and then accessed to increment its content.
Static Variables:
A static variable is a local variable of a function, but retains its value between calls to the function. Static variables are declared using the keyword static. The following program illustrates the use of static variables:
function update_counter( )
{
static $counter = 0;
$counter++;
echo “This function is called $count time(s)”;
}
update_counter();
update_counter();
update_counter();
The above lines of code will display the message “This function called … time(s)” 3 times. Each time it displays the corresponding count value in the output as follows:
This function called 1 time(s)
This function called 2 time(s)
This function called 3 time(s)
Function Parameters:
Function parameters are variables used for passing values as input to a function. They are local, meaning that they are available only within the function, for which they are declared:
function greet($name )
{
echo “Hello, $name \n”;
}
greet(“Raja”);

Leave a Reply