PHP variables
Description
Variable is a symbol or name that stands for a value. Variables are used for storing values such as numeric values, characters, character strings, or memory addresses so that they can be used in any part of the program.
Declaring PHP variables
All variables in PHP start with a $ (dollar) sign followed by the name of the variable.
A valid variable name starts with a letter (A-Z, a-z) or underscore (_), followed by any number of letters, numbers, or underscores.
If a variable name is more than one word, it can be separated with an underscore (for example $employee_code instead of $employeecode).
'$' is a special variable that can not be assigned.
Pictorial presentation of PHP variable naming
Example : Valid and invalid PHP variables
<?php
$abc = 'Welcome'; //valid
$Abc = 'W3resource.com'; //valid
$9xyz = 'Hello world'; //invalid; starts with a number
$_xyz = 'Hello world'; //valid; starts with an underscore
$_9xyz = 'Hello world'; //valid
$aäa = 'Hello world'; //valid; 'ä' is (Extended) ASCII 228.
?>
PHP variable name is case-sensitive
Consider the following example :
<?php
$abc = 'Welcome';
echo "Value of abc : $abc";
echo "Value of ABC : $ABC";
?>
Output of the above example
Value of abc : Welcome Value of ABC :
In the above example, the different capitalization schemes make for different variables.
PHP is a loosely type language
In a language such as C, C++, and Java the programmer must declare the name and type of the variable before use it. In PHP the type of the variable does not need to be declared before use it because types are associated with values rather than variables. As a result, a variable can change the type of its value as much as we want.
As previously mentioned you don't need to declare variables or their type before using them in PHP. In the following example, none of the variables are declared before they are used, the fact is $height is floating number and $width is an integer.
<?php
$height = 3.5;
$width = 4;
$area=$height*$width;
echo "Area of the rectangle is : $area";
?>
PHP variables: Assigning by Reference
PHP (from PHP4) offers another way to assign values to variables: assign by reference. This means that the new variable simply points the original variable. Changes to the new variable affect the original, and vice a verse.
Consider the following example:
<?php
$foo='bob';
$bar=&$foo;
$bar="my $bar";
echo $bar;
echo '<br />';
echo $foo;
?>
Output:
my bob my bob
PHP variable variables
You know how to declare variables in PHP. But what if you want the name your variable is a variable itself? In PHP, you have Variable Variables, so you may assign a variable to another variable.
In the following example at line no. 2, we declared a variable called $v which stores the value 'var1' and in line no. 4, "var1" is used as the name of a variable by using two dollar signs. i.e. $$v.
Therefore there are two variables now. $v which stores the value "var1" where as $$v which stores the value var2. At this point $$v and $var1 are equal, both store the value "var2".
Example:
<?php
$v='var1';
echo $v; // prints var1
$$v = 'var2';
echo $$v; // prints var2
echo $var1; // prints var2
?>
PHP Variables Scope
In PHP, variables can be declared anywhere in the script. We declare the variables for a particular scope. There are two types of scope, the local scope where variables are created and accessed inside a function and global scope where variables are created and accessed outside a function.
Example:
<?php
//global scope
$x = 10;
function var_scope()
{
//local scope
$y=20;
echo "The value of x is : $x "."<br />";
echo "The value of y is : $y"."<br />";
}
var_scope();
echo "The value of x is : $x"."<br />";
echo "The value of y is : $y ";
?>
In the above script there are two variables $x and $y and a function var_scope(). $x is a global variable since it is declared outside the function and $y is a local variable as it is created inside the function var_scope(). At the end of the script var_scope() function is called, followed by two echo statements. Lets see the output of the script :
The value of x is : The value of y is : 20 The value of x is : 10 The value of y is :
There are two echo statements inside var_scope() function. It prints the value of $y as it is the locally declared and can not prints the value of $x since it is created outside the function.
The next statement of the script prints the value of $x since it is global variable i.e. not created inside any function.
The last echo statement can not prints the value of $y since it is local variable and it is created inside the function var_scope() function.
View the example in the browser
The global keyword
We have already learned variables declared outside a function are global. They can be accessed anywhere in the program except within a function.
To use these variables inside a function the variables must be declared global in that function. To do this we use the global keyword before the variables. Consider the following the example :
Example:
<?php
$x=2;
$y=4;
$z=5;
$xyz=0;
function multiple()
{
global $x, $y, $z, $xyz;
$xyz=$x*$y*$z;
}
multiple();
echo $xyz;
?>
In the above example $x, $y, $z, $xyz have initialized with 2, 4, 5, 0. Inside the multiple() function we declared $x, $y, $z, $xyz as global. Therefore all reference of each variable will refer to global version. Now call multiple() anywhere in the script and the variable $xyz will print 40 as it is already referred as global.
View the example in the browser
PHP static variables
Normally when a function terminates, all of its variables loose its values. Sometimes we want to hold these values for the further job. Generally, those variables which hold the values are called static variables inside a function. To do this we must write the keyword "static" in front of those variables. Consider the following example without a static variable.
Example: without static variable
<?php
function test_variable()
{
$x=1;
echo $x;
$x++;
}
test_variable();
echo "<br>";
test_variable();
echo "<br>";
test_variable();
?>
In the above script the function test_variable() is useless as the last statement $x = $x +1 can not increase the value of $x since every time it is called $x sets to 1 and print 1.
Output:
1 1 1
View the example in the browser
To overcome the problem of the above script $x can be declared as static. See the following example.
Example: with static variable
<?php
function test_count()
{
static $x=1;
echo $x;
$x++;
}
test_count();
echo "<br>";
test_count();
echo "<br>";
test_count();
?>
Output:
1 2 3
View the example in the browser
PHP : Reserve Words
The words in the following table are reserve words and cannot be used as constants, class names, function or method names. You can use them as variable names, but do not use as variable names to avoid confusion.
PHP Keywords
abstract (as of PHP 5) | and | array() | as | break |
---|---|---|---|---|
case | catch (as of PHP 5) | cfunction ( PHP 4 only) | class | clone (as of PHP 5) |
const | continue | declare | default | do |
else | elseif | enddeclare | endfor | endforeach |
endif | endswitch | endwhile | extends | final (as of PHP 5) |
for | foreach | function | global | goto (as of PHP 5.3) |
if | implements (as of PHP 5) | interface (as of PHP 5) | instanceof (as of PHP 5) | private (as of PHP 5) |
namespace (as of PHP 5.3) | new | old_function (PHP 4 only) | or | throw (as of PHP 5) |
protected (as of PHP 5) | public (as of PHP 5) | static | switch | xor |
try (as of PHP 5) | use | var | while |
Compile-time constants
__CLASS__ | _DIR__ (as of PHP 5.3) | _FILE_ | __LINE__ | __FUNCTION__ |
__METHOD__ | __NAMESPACE__ (as of PHP 5.3) |
Language constructs
die() | echo() | empty() | exit() | eval() |
include() | include_once() | isset() | list() | require() |
require_once() | return() | print() | unset() |
Practice here online :
Previous: Basics of PHP
Next: Echo statement
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://www.w3resource.com/php/variables/declaring-php-variables.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics