Control Statement
PHP Programs
PHP Functions
PHP Arrays
PHP Strings
PHP Math
PHP Form
PHP Include
State Management
PHP File
Upload Download
PHP Misc
PHP Mail
PHP MySQLi
PHP JSON
PHP OOPs Concepts
PHP Topics
PHP MCQ
Related Tutorials
Interview Questions
PHP $ and $$ Variables
The $var (single dollar) is a normal variable with the name var that stores any value like string, integer, float, etc.
The $$var (double dollar) is a reference variable that stores the value of the $variable inside it.
To understand the difference better, let's see some examples.
Example 1
$$x = 200;
echo $x."
";
echo $$x."
";
echo $abc;
?>
Output:
In the above example, we have assigned a value to the variable x as abc. Value of reference variable $$x is assigned as 200.
Now we have printed the values $x, $$x and $abc.
Example2
$$x="Lucknow";
echo $x. "
";
echo $$x. "
";
echo "Capital of $x is " . $$x;
?>
Output:
In the above example, we have assigned a value to the variable x as U.P. Value of reference variable $$x is assigned as Lucknow.
Now we have printed the values $x, $$x and a string.
Example3
${$name}="Dog";
${${$name}}="Monkey";
echo $name. "
";
echo ${$name}. "
";
echo $Cat. "
";
echo ${${$name}}. "
";
echo $Dog. "
";
?>
Output:
In the above example, we have assigned a value to the variable name Cat. Value of reference variable ${$name} is assigned as Dog and ${${$name}} as Monkey.
Now we have printed the values as $name, ${$name}, $Cat, ${${$name}} and $Dog.