PHP Variables - thelastmile/FreeCodeCamp GitHub Wiki
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 $var = 5; ?>
-
The variable name can contain characters such as A-Z, a-z, 0-9, _ and ASCII characters from 127-255.
Example:
<?php $var = 5; //Valid $var_1 = "Foo"; //Valid $_var2 = 'Bar'; //Valid $var.3 = 'Baz'; //Invalid ?>
-
The variable name can begin with underscore (_).
Example:
<?php $_var2 = 'Bar'; //Valid ?>
-
The variable name must not begin with a number 0-9.
Example:
<?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
?>