我有一個數組,看起來像從規則陣列
$numbers = array('first', 'second', 'third');
我想有將這個數組作爲輸入,並返回一個數組,看起來功能創建同鍵和值的ASSOC陣列像:
array(
'first' => 'first',
'second' => 'second',
'third' => 'third'
)
我不知道是否有可能使用array_walk_recursive
或類似的東西...
我有一個數組,看起來像從規則陣列
$numbers = array('first', 'second', 'third');
我想有將這個數組作爲輸入,並返回一個數組,看起來功能創建同鍵和值的ASSOC陣列像:
array(
'first' => 'first',
'second' => 'second',
'third' => 'third'
)
我不知道是否有可能使用array_walk_recursive
或類似的東西...
可以使用array_combine
功能,像這樣:
$numbers = array('first', 'second', 'third');
$result = array_combine($numbers, $numbers);
這對單行者來說很棒。這裏是到期月的用例:$ months = array_combine(範圍(日期('Y'),日期('Y')+ 10),範圍(日期('Y'),日期('Y')+10 ))。 – axiom82 2014-07-28 19:52:11
這個簡單的方法應該工作:
$new_array = array();
foreach($numbers as $n){
$new_array[$n] = $n;
}
你也可以這樣做:
array_combine(array_values($numbers), array_values($numbers))
也感謝您的幫助 – jimiyash 2009-07-01 01:23:30
這應該這樣做。
function toAssoc($array) {
$new_array = array();
foreach($array as $value) {
$new_array[$value] = $value;
}
return $new_array;
}
哇,謝謝您的回答如此迅速。前兩個答案會起作用,但我只是在尋找一些更優雅的東西。 – jimiyash 2009-07-01 01:20:28