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