2012-02-24 31 views
0

例如:PHP內置函數將數組的每個元素分配給一個變量,它是否存在?

$array = array('f', 'b'); 
assign($foo, $bar, $array); 

// now $foo = 'f' and $bar = 'b' 

請問像這樣的PHP語言的存在嗎?我以前從未需要過這樣的東西,也找不到任何能做到這一點的事情。

我只是想在我自己寫這個函數之前確定 - 我不想寫一些已經存在於語言中的東西。

+0

類似的設置存在請求變量'register_globals'但不管,我會強烈建議您不這樣做。這使得它非常難以調試,並打開各種各樣的黑客門 – Mikhail 2012-02-24 18:35:02

回答

3
list ($foo, $bar) = $array; 

list()是類似的array()對面和語言結構。它知道尤爲重要,即使它在手動(list())的功能,參考上市,它不是,因爲沒有功能是可寫的。

+0

正是我在找,謝謝:)!我忘記了'list'。我會盡快接受。 – 2012-02-24 18:36:18

+0

看着其他答案似乎,你並不孤單。我有點吃驚... – KingCrunch 2012-02-24 18:37:37

+0

@KingCrunch,是的,我甚至用'list',但我的PHP明顯變得有點生疏了。 – 2012-02-24 18:38:37

1

非常接近PHP的extract()函數。

您需要指定var名稱,因爲它們是數組中每個值的鍵。

$array = array('foo' => 'f', 'bar' => 'b'); 
extract($array); 
// now $foo = 'f' and $bar = 'b' 
1

您可以使用PHP的list()功能

$array = array('f', 'b'); 
list($foo, $bar) = $array; 

現在是

$foo = 'f' and $bar = 'b'; 

php.net/list

+0

呵,什麼是減投票?關心一個解釋? – 2012-02-24 18:38:25

+0

這可能是因爲你試圖通過先發佈一個非常簡單的解決方案,然後再進行更詳細的編輯,即使您的解決方案已經張貼的答案狙擊接受的答案。只是猜測,這不是我! – 2012-02-24 18:47:45

+0

@IbrahimAzharArmar,如果有倒票,它已被刪除。 – 2012-02-24 20:15:00

相關問題