Mam tablicę, która wygląda jak
$numbers = array('first', 'second', 'third');
Chcę mieć funkcję, która przyjmie tę tablicę jako dane wejściowe i zwróci tablicę, która wyglądałaby następująco:
array(
'first' => 'first',
'second' => 'second',
'third' => 'third'
)
Zastanawiam się, czy da się zastosować array_walk_recursive
lub coś podobnego ...
Odpowiedzi:
Możesz użyć tej
array_combine
funkcji w następujący sposób:$numbers = array('first', 'second', 'third'); $result = array_combine($numbers, $numbers);
źródło
To proste podejście powinno działać:
$new_array = array(); foreach($numbers as $n){ $new_array[$n] = $n; }
Możesz też zrobić coś takiego:
array_combine(array_values($numbers), array_values($numbers))
źródło
To powinno wystarczyć.
function toAssoc($array) { $new_array = array(); foreach($array as $value) { $new_array[$value] = $value; } return $new_array; }
źródło