2013-03-17 141 views
2

我經常看到或有一堆的變量轉換成一個這樣的數組:PHP變量數組

$array = array("description"=>$description, "title"=>$title, "page"=>$page, "author"=>$author); 

基本上,所有的數組鍵匹配在傳遞的變量的名稱有一種方式來引用變量的名稱,以便它可以被傳遞到陣列中,像這樣:

$array[varName($description)] = $description; 
+4

似乎這是錯誤的方法。如果這些值已經保存到變量中,這似乎意味着您有機會將它們作爲數組鍵存儲在第一位? – 2013-03-17 13:22:49

+0

@mavili在這裏'變量變量'如何有用? – mintobit 2013-03-17 13:31:43

+0

它不,是嗎?我將刪除那個;) – mavili 2013-03-17 13:32:53

回答

11

你可以使用compact[docs]

$array = compact('description', 'title', 'page', 'author'); 

每個參數都是一個變量名,它將創建一個數組,其中的鍵是名稱,值是具有該名稱的變量的值。

這是相反的方式,而不是你的方法。

+5

+1在 – Tchoupi 2013-03-17 13:30:36

+0

+1 @MathieuImbert之前從來沒有聽說過'compact'我既沒有 - 但不禁覺得它有點「駭人聽聞」? – Emissary 2013-03-17 13:32:21

+0

從來沒有聽說過緊湊,+1! – StackOverflowed 2013-03-17 13:36:15