У меня есть многомерный массив PHP ( см . Ниже ).
Array ( [0] => Array ( [2] => one@example.com ) [1] => Array ( [4] => two@example.com ) [2] => Array ( [3908] => twenty@example.com ) [3] => Array ( [2548] => eleven@example.com ) [4] => Array ( [3099] => ten@example.com ) [5] => Array ( [5283] => six@example.com ) )
Мне было интересно, как я могу слиться? или объединить? или просто сделайте это так, используя PHP ( см . ниже ).
Array ( [2] => one@example.com [4] => two@example.com [3908] => twenty@example.com [2548] => eleven@example.com [3099] => ten@example.com [5283] => six@example.com )
Помогите
Вы можете «продвигать» элементы второго уровня элементам первого уровня через call_user_func_array () . И хотя array_merge () повторно индексирует массив, array_replace () не сохраняет исходные ключи, которые делают это однострочным:
$a = call_user_func_array('array_replace', $a);
контрольная работа:
<?php $a = array ( array (2 => 'one@example.com'), array (4 => 'two@example.com'), array (3908 => 'twenty@example.com'), array (2548 => 'eleven@example.com'), array (3099 => 'ten@example.com'), array (5283 => 'six@example.com'), ); $a = call_user_func_array('array_replace', $a); var_dump($a);
Просто переходите через массив и храните в другой.
$a = array( 0 => array(1) , 1=> array(3) ); $another=array(); foreach ($a as $k=>$v){ foreach ($v as $y=>$z){ $another[$k]=$z; } } print_r($another);
Как насчет этого?
foreach( $old_arr as $old ) { $key = key( $old[0] ); $new[ $key ] = $old[0][$key]; }
РЕДАКТИРОВАТЬ: Никогда не думал, что предыдущий ответ был исправлен.