Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

variable-variables in PHP

I know you can do: $hash('foo') and $$foo and also $bar[$foo], what are each of these things called?

like image 915
Johnny Avatar asked Sep 05 '10 07:09

Johnny


People also ask

What are variable variables in PHP?

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.

What is variable and types of variables in PHP?

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.

What are the 4 variable scopes of PHP?

PHP has three different variable scopes: local. global. static.

What is variable reference in PHP?

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.


1 Answers

  • $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).

like image 53
BoltClock Avatar answered Oct 04 '22 15:10

BoltClock