169 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			169 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Learn About Php Variables
 | |
| ---
 | |
| Variables are containers for storing data such as `strings`, `integers`, `boolean` values, `array` and objects.
 | |
| 
 | |
| PHP follows certain rules for variable declarations such as:
 | |
| 
 | |
| *   The variable must begin with a dollar sign ($)
 | |
| 
 | |
| Example:
 | |
| 
 | |
| `php  
 | |
| <?php  
 | |
| $var = 5;  
 | |
| ?>` 
 | |
| 
 | |
| *   The variable name can contain characters such as A-Z, a-z, 0-9, _ and <a href='http://www.asciitable.com/ "ASCII Table"' target='_blank' rel='nofollow'>ASCII</a> characters from 127-255.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| `php  
 | |
| <?php  
 | |
| $var = 5; //Valid  
 | |
| $var_1 = "Foo"; //Valid  
 | |
| $_var2 = 'Bar'; //Valid  
 | |
| $var.3 = 'Baz'; //Invalid  
 | |
| ?>` 
 | |
| 
 | |
| *   The variable name can begin with underscore (_).
 | |
| 
 | |
| Example:
 | |
| 
 | |
| `php  
 | |
| <?php  
 | |
| $_var2 = 'Bar'; //Valid  
 | |
| ?>` 
 | |
| 
 | |
| *   The variable name must not begin with a number 0-9.
 | |
| 
 | |
| Example:
 | |
| 
 | |
| `php  
 | |
| <?php  
 | |
| $9var3 = 'Baz'; //Invalid  
 | |
| ?>` 
 | |
| 
 | |
| *   The variable name is case sensitive.
 | |
| 
 | |
| Example:
 | |
| 
 | |
|     <?php
 | |
|         $var = 5; //Valid
 | |
|         $VAR = "Foo"; //Valid
 | |
|         echo $var; //Output 5
 | |
|         echo "<br>";
 | |
|         echo $VAR; //Output Foo
 | |
|     ?>
 | |
| 
 | |
| PHP is a loosely typed language, hence we don't need to declare the data type of a variable when declaring the variable. Unlike Java or C.
 | |
| 
 | |
|     <?php
 | |
|         $var = 5; 
 | |
|         $var2 = 4; 
 | |
|         $sum = $var+$var2;
 | |
|         echo $sum; //Output 9
 | |
|         echo "<br>";
 | |
|         echo $var+$var2; //Output 9
 | |
|     ?>
 | |
| 
 | |
| The variables can also be assigned by referencing. This allows two variables to refer to the same content. The `&` operator is placed before the variable that is to be referenced.
 | |
| 
 | |
| Example :
 | |
| 
 | |
|     <?php
 | |
|         $var1 = "foo";
 | |
|         $var2 = "bar";
 | |
| 
 | |
|     myTest($var1, $var2);
 | |
| 
 | |
|     echo $var1; //Output foo
 | |
|     echo $var2; //Output BAR
 | |
| 
 | |
|     function myTest($var1, &$var2){
 | |
|         $var1 = "FOO";
 | |
|         $var2 = "BAR";
 | |
|     }
 | |
|     ?>
 | |
| 
 | |
| To have variable names set dynamically we use the variable variables. This can be particularly useful when there is a need to create multiple variables.
 | |
| 
 | |
| Example :
 | |
| 
 | |
|     <?php
 | |
| 
 | |
|         $var = 'Tom'; 
 | |
|         echo $var;      //Output Tom
 | |
|         $$var = 'Cat'; //The value of $$var is the value of $var. So $$var and $Tom give the same output.
 | |
|         echo $$var;   //Output Cat
 | |
|         echo $Tom;   //Output Cat
 | |
|     ?>
 | |
| 
 | |
| # Variable Scope
 | |
| 
 | |
| Scope of variable refers to the places from where a variable is accessible.
 | |
| 
 | |
| *   Global scope is for the variables that are declared outside a function. These variables can be accessed from anywhere but not within a function.
 | |
| *   Local scope is for the variables declared within a function that can not be accessed from anywhere outside the function.
 | |
| 
 | |
| Example:
 | |
| 
 | |
|     <?php
 | |
|        $global = "Hello";
 | |
| 
 | |
|       function Test(){
 | |
|        $local = "World";
 | |
|        echo $global; //Error
 | |
|        echo $local; //Output World
 | |
|       }
 | |
| 
 | |
|        Test();
 | |
|        echo $global; //Output Hello
 | |
|        echo $local; //Error
 | |
|     ?>
 | |
| 
 | |
| To access global variables inside a function:
 | |
| 
 | |
|     <?php
 | |
|        $global = "Hello";
 | |
| 
 | |
|      function Test(){
 | |
|        global $global;
 | |
|        $local = "World";
 | |
|        echo $global; //Output Hello
 | |
|        echo $local; //Output World
 | |
|       }
 | |
| 
 | |
|        Test();
 | |
|        echo $global; //Output Hello
 | |
|        echo $local; //Error
 | |
|     ?>
 | |
| 
 | |
| # Static Variables
 | |
| 
 | |
| Everytime a function is created all of its local variables are deleted. To retain the variable's last value we declare it `static`.
 | |
| 
 | |
| Example :
 | |
| 
 | |
|     <?php
 | |
| 
 | |
|      function WithStatic(){
 | |
|        static $var = 0;
 | |
|        echo $var;
 | |
|        $var++;
 | |
|       }
 | |
| 
 | |
|        WithStatic(); //Output 0
 | |
|        WithStatic(); //Output 1
 | |
|        WithStatic(); //Output 2
 | |
| 
 | |
|      function WithoutStatic(){
 | |
|        $var = 0;
 | |
|        echo $var;
 | |
|        $var++;
 | |
|       }
 | |
| 
 | |
|        WithoutStatic(); //Output 0
 | |
|        WithoutStatic(); //Output 0
 | |
|        WithoutStatic(); //Output 0
 | |
|     ?> |