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))。