I know you can do: $hash('foo')
and $$foo
and also $bar[$foo]
, what are each of these things called?
A variable variable takes the value of a variable and treats that as the name of a variable. In the above example, hello, can be used as the name of a variable by using two dollar signs.
PHP has a total of eight data types which we use to construct our variables − Integers − are whole numbers, without a decimal point, like 4195. Doubles − are floating-point numbers, like 3.14159 or 49.1. Booleans − have only two possible values either true or false.
PHP has three different variable scopes: local. global. static.
In PHP, variable name and variable content are different, so the same content can have different names. A reference variable is created by prefixing & sign to original variable. Hence b=&a will mean that bisareferewncevariableofa.
$hash('foo')
is a variable function.$hash
may contain a string with the function name, or an anonymous function.
$hash = 'md5';
// This means echo md5('foo');
// Output: acbd18db4cc2f85cedef654fccc4a4d8
echo $hash('foo');
$$foo
is a variable variable.$foo
may contain a string with the variable name.
$foo = 'bar';
$bar = 'baz';
// This means echo $bar;
// Output: baz
echo $$foo;
$bar[$foo]
is a variable array key.$foo
may contain anything that can be used as an array key, like a numeric index or an associative name.
$bar = array('first' => 'A', 'second' => 'B', 'third' => 'C');
$foo = 'first';
// This tells PHP to look for the value of key 'first'
// Output: A
echo $bar[$foo];
The PHP manual has an article on variable variables, and an article on anonymous functions (but I didn't show an example above for the latter).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With