Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从常规数组创建具有相等键和值的assoc数组_Php_Arrays - Fatal编程技术网

Php 从常规数组创建具有相等键和值的assoc数组

Php 从常规数组创建具有相等键和值的assoc数组,php,arrays,Php,Arrays,我有一个数组,看起来像 $numbers = array('first', 'second', 'third'); 我想要一个函数,该函数将此数组作为输入,并返回一个如下所示的数组: array( 'first' => 'first', 'second' => 'second', 'third' => 'third' ) 我想知道是否可以使用array\u walk\u recursive或类似的方法…这种简单的方法应该可以: $new_array = array(); f

我有一个数组,看起来像

$numbers = array('first', 'second', 'third');
我想要一个函数,该函数将此数组作为输入,并返回一个如下所示的数组:

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

我想知道是否可以使用
array\u walk\u recursive
或类似的方法…

这种简单的方法应该可以:

$new_array = array();
foreach($numbers as $n){
  $new_array[$n] = $n;
}
您还可以执行以下操作:

array\u组合(array\u值($numbers),array\u值($numbers))

这样就可以了

function toAssoc($array) {
    $new_array = array();
    foreach($array as $value) {
        $new_array[$value] = $value;
    }       
    return $new_array;
}
您可以使用该函数,如下所示:

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

哇,谢谢你这么快的回答。前两个答案会有用,但我只是想找一个更优雅一点的。这对一行来说很好。下面是到期月份的用例:$months=array_combine(范围(日期('Y')、日期('Y')+10)、范围(日期('Y')、日期('Y')+10))。