переменные-переменные в PHP - PullRequest
       9

переменные-переменные в PHP

5 голосов
/ 05 сентября 2010

Я знаю, что вы можете сделать: $hash('foo') и $$foo, а также $bar[$foo], как называется каждая из этих вещей?

1 Ответ

18 голосов
/ 05 сентября 2010
  • $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 есть статья о переменных переменных и статья о анонимных функциях (но я не показал приведенный выше пример для последней).

...