Я знаю, что вы можете сделать: $hash('foo') и $$foo, а также $bar[$foo], как называется каждая из этих вещей?
$hash('foo')
$$foo
$bar[$foo]
$hash('foo') является переменной функцией. $hash может содержать строку с именем функции или анонимную функцию.
$hash
$hash = 'md5'; // This means echo md5('foo'); // Output: acbd18db4cc2f85cedef654fccc4a4d8 echo $hash('foo');
$$foo является переменной переменной. $foo может содержать строку с именем переменной.
$foo
$foo = 'bar'; $bar = 'baz'; // This means echo $bar; // Output: baz echo $$foo;
$bar[$foo] является ключом массива переменных. $foo может содержать все, что может быть использовано в качестве ключа массива, например числовой индекс или ассоциативное имя.
$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];
В руководстве по PHP есть статья о переменных переменных и статья о анонимных функциях (но я не показал приведенный выше пример для последней).