5
我知道你可以這樣做:$hash('foo')
和$$foo
以及$bar[$foo]
,這些東西都稱爲什麼?PHP中的變量變量
我知道你可以這樣做:$hash('foo')
和$$foo
以及$bar[$foo]
,這些東西都稱爲什麼?PHP中的變量變量
$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的文章(但我沒有顯示出以上針對後者的實例)。
哇,我猜對了。你能引用這個嗎? – Johnny 2010-09-05 07:49:01
變量數組鍵非常主要。我已經包含了用於變量變量和變量函數的PHP手冊鏈接。 – BoltClock 2010-09-05 07:57:13
如果使用擴展變量語法,事情會變得非常有趣。這允許像'$ {'prefix_'之類的東西。 $ name}'或甚至更有趣的東西,例如'$ {$ var ='var'}'(這是''var'')。 – NikiC 2010-09-05 08:17:28