Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
4 views

unit 5 php variable

The document explains PHP variable scope, detailing three types: local, global, and static variables. Local variables are confined to the function they are declared in, global variables can be accessed throughout the program, and static variables retain their value between function calls. Examples illustrate the usage and behavior of each variable type in PHP.

Uploaded by

lokbasnet368
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

unit 5 php variable

The document explains PHP variable scope, detailing three types: local, global, and static variables. Local variables are confined to the function they are declared in, global variables can be accessed throughout the program, and static variables retain their value between function calls. Examples illustrate the usage and behavior of each variable type in PHP.

Uploaded by

lokbasnet368
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

PHP Variable Scope

The scope of a variable is defined as its range in the program under which
it can be accessed. In other words, "The scope of a variable is the portion
of the program within which it is defined and can be accessed."

PHP has three types of variable scopes:

1. Local variable
2. Global variable
3. Static variable

Local variable

The variables that are declared within a function are called local variables
for that function. These local variables have their scope only in that
particular function in which they are declared. This means that these
variables cannot be accessed outside the function, as they have local
scope.

A variable declaration outside the function with the same name is


completely different from the variable declared inside the function. Let's
understand the local variables with the help of an example:

File: local_variable1.php

1. <?php
2. function local_var()
3. {
4. $num = 45; //local variable
5. echo "Local variable declared inside the function is: ". $num;
6. }
7. local_var();
8. ?>

Output:
Local variable declared inside the function is: 45

File: local_variable2.php

1. <?php
2. function mytest()
3. {
4. $lang = "PHP";
5. echo "Web development language: " .$lang;
6. }
7. mytest();
8. //using $lang (local variable) outside the function will generate an erro
r
9. echo $lang;
10. ?>

Output:

Web development language: PHP


Notice: Undefined variable: lang in D:\xampp\htdocs\program\p3.php on
line 28

Global variable
The global variables are the variables that are declared outside the
function. These variables can be accessed anywhere in the program. To
access the global variable within a function, use the GLOBAL keyword
before the variable. However, these variables can be directly accessed or
used outside the function without any keyword. Therefore there is no need
to use any keyword to access a global variable outside the function.

Let's understand the global variables with the help of an example:

Example:

File: global_variable1.php
1. <?php
2. $name = "Sanaya Sharma"; //Global Variable
3. function global_var()
4. {
5. global $name;
6. echo "Variable inside the function: ". $name;
7. echo "</br>";
8. }
9. global_var();
10. echo "Variable outside the function: ". $name;
11. ?>

Output:
Variable inside the function: Sanaya Sharma
Variable outside the function: Sanaya Sharma

Note: Without using the global keyword, if you try to access a global
variable inside the function, it will generate an error that the variable is
undefined.

Example:

File: global_variable2.php

1. <?php
2. $name = "Sanaya Sharma"; //global variable
3. function global_var()
4. {
5. echo "Variable inside the function: ". $name;
6. echo "</br>";
7. }
8. global_var();
9. ?>

Output:
Notice: Undefined variable: name in D:\xampp\htdocs\program\p3.php
on line 6
Variable inside the function:

Using $GLOBALS instead of global

Another way to use the global variable inside the function is predefined
$GLOBALS array.

Example:
File: global_variable3.php

1. <?php
2. $num1 = 5; //global variable
3. $num2 = 13; //global variable
4. function global_var()
5. {
6. $sum = $GLOBALS['num1'] + $GLOBALS['num2'];
7. echo "Sum of global variables is: " .$sum;
8. }
9. global_var();
10. ?>

Output:
Sum of global variables is: 18

If two variables, local and global, have the same name, then the local
variable has higher priority than the global variable inside the function.

Example:

File: global_variable2.php

1. <?php
2. $x = 5;
3. function mytest()
4. {
5. $x = 7;
6. echo "value of x: " .$x;
7. }
8. mytest();
9. ?>

Output:
Value of x: 7

Note: local variable has higher priority than the global variable.

Static variable

It is a feature of PHP to delete the variable, once it completes its execution


and memory is freed. Sometimes we need to store a variable even after
completion of function execution. Therefore, another important feature of
variable scoping is static variable. We use the static keyword before the
variable to define a variable, and this variable is called as static variable.

Static variables exist only in a local function, but it does not free its
memory after the program execution leaves the scope. Understand it with
the help of an example:

Example:

File: static_variable.php

1. <?php
2. function static_var()
3. {
4. static $num1 = 3; //static variable
5. $num2 = 6; //Non-static variable
6. //increment in non-static variable
7. $num1++;
8. //increment in static variable
9. $num2++;
10. echo "Static: " .$num1 ."</br>";
11. echo "Non-static: " .$num2 ."</br>";
12. }
13.
14. //first function call
15. static_var();
16.
17. //second function call
18. static_var();
19. ?>

Output:
Static: 4
Non-static: 7
Static: 5
Non-static: 7

You have to notice that $num1 regularly increments after each function
call, whereas $num2 does not. This is why because $num1 is not a static
variable, so it freed its memory after the execution of each function call.

You might also like