5

我知道你可以做到:$hash('foo')还有$$foo$bar[$foo]这些东西叫什么?

4

1 回答 1

18
  • $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 手册有一篇关于变量变量的文章和一篇关于匿名函数的文章(但我没有在上面展示后者的示例)。

于 2010-09-05T07:48:02.140 回答