PHP Variable Variables

By Dillon Smart · · · 0 Comments

Understanding PHP Variable Variables

In PHP, it is sometimes necessary to have variables that have variable names. Traditionally, a variable is given a name and a value is given to the variable like so:

$foo = 'bar';

A Variable Variable, or Double Dollar Variable, gets its name from the value of another variable like so:

$foo = 'bar';

$$foo = 'Foo Bar';

echo $bar;

// output 'Foo Bar'

In the example above, the Variable Variable has been given the name of foo. The use of the double dollar operator gives the variable the name which is the value of foo. In this case, the value of foo is bar.

Limitations of using Variable Variables in PHP

Although PHP has the Variable Variable operator built-in, there are reasons to use more traditional ways of assigning values. The biggest drawback of Variable Variables is speed.

PHP Variable with an assigned value

PHP variable speed

PHP Array with one key-value pair

PHP Array Key Value Pair Speed

PHP Variable Variables

PHP Variable Variable Speed Difference


As you can see, there is a significant speed difference when using Variable Variables. Wherever you have data that you could access using a Variable Variable, an array should be used for the most efficient code.

Learn more about Variable Variables in the official documentation.

Check these PHP Statistics!


0 Comment

Was this helpful? Leave a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

WSL vs Dual Boot speed test

Updated 16th August 2022

In this experiment, I will be using WSL2 running Ubuntu 20.04 and Ubuntu 20.04 dual-booted on the same Dell XPS. Is there a noticeable difference? Follow along for the results of the WSL vs Dual Boot speed test. If you are like me and use different development environments a lot, you may find the results

What is the Lexing stage in PHP

Updated 10th December 2023

Lexing is a phase the PHP interpreter undergoes while interpreting the source code written. Lexing, is the first of four overall steps performed by the PHP interpreter. Steps in the PHP Interpreter The PHP interpreter undergoes a total of four steps before executing the code written. What is Lexing in PHP Lexical analysis, also known

Laravel php artisan make:auth command not defined

Updated 11th August 2022

Laravel 6.0 LTS came with a lot of changes to the framework, apart from moving the the new Semantic Versioning, Laravels famous php artisan make:auth command was dropped. php artisan make:auth Before the Laravel make:auth command would create all the Migrations, Models, Controllers and Routes needed to easily setup an authenticatable application in seconds. However,