2010-09-05 143 views

回答

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手冊對variable variables的文章,並且在anonymous functions的文章(但我沒有顯示出以上針對後者的實例)。

+0

哇,我猜對了。你能引用這個嗎? – Johnny 2010-09-05 07:49:01

+0

變量數組鍵非常主要。我已經包含了用於變量變量和變量函數的PHP手冊鏈接。 – BoltClock 2010-09-05 07:57:13

+1

如果使用擴展變量語法,事情會變得非常有趣。這允許像'$ {'prefix_'之類的東西。 $ name}'或甚至更有趣的東西,例如'$ {$ var ='var'}'(這是''var'')。 – NikiC 2010-09-05 08:17:28