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 | ||
|  |     ?> |