Ответ 1
Вы можете использовать функцию array_combine
, например:
$numbers = array('first', 'second', 'third');
$result = array_combine($numbers, $numbers);
У меня есть массив, который выглядит как
$numbers = array('first', 'second', 'third');
Я хочу иметь функцию, которая примет этот массив в качестве входных данных и вернет массив, который будет выглядеть следующим образом:
array(
'first' => 'first',
'second' => 'second',
'third' => 'third'
)
Интересно, можно ли использовать array_walk_recursive
или что-то подобное...
Вы можете использовать функцию array_combine
, например:
$numbers = array('first', 'second', 'third');
$result = array_combine($numbers, $numbers);
Этот простой подход должен работать:
$new_array = array();
foreach($numbers as $n){
$new_array[$n] = $n;
}
Вы также можете сделать что-то вроде:
array_combine(array_values($numbers), array_values($numbers))
Это должно сделать это.
function toAssoc($array) {
$new_array = array();
foreach($array as $value) {
$new_array[$value] = $value;
}
return $new_array;
}