使用相同的键和常规数组中的值创建一个assoc数组

时间:2009-07-01 01:09:55

标签: php arrays

我有一个看起来像

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

我希望有一个函数将此数组作为输入并返回一个如下所示的数组:

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

我想知道是否可以使用array_walk_recursive或类似的东西......

3 个答案:

答案 0 :(得分:151)

您可以使用array_combine功能,如下所示:

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

答案 1 :(得分:4)

这种简单的方法应该有效:

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

您还可以执行以下操作:

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

答案 2 :(得分:0)

这应该这样做。

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