2013-03-17 139 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