用常数数组创build一个具有相同键和值的assoc数组

我有一个数组,看起来像

$numbers = array('first', 'second', 'third'); 

我想有一个函数,将这个数组作为input,并返回一个数组,如下所示:

 array( 'first' => 'first', 'second' => 'second', 'third' => 'third' ) 

我不知道是否有可能使用array_walk_recursive或类似的东西…

您可以使用array_combine函数,如下所示:

 $numbers = array('first', 'second', 'third'); $result = array_combine($numbers, $numbers); 

这个简单的方法应该工作:

 $new_array = array(); foreach($numbers as $n){ $new_array[$n] = $n; } 

你也可以做这样的事情:

array_combine(array_values($numbers), array_values($numbers))

这应该做到这一点。

 function toAssoc($array) { $new_array = array(); foreach($array as $value) { $new_array[$value] = $value; } return $new_array; }