Intereting Posts
Как заставить класс загрузки файлов CodeIgniter принимать все расширения? Phpdoc Нет записей для этого файла Использование пространства имен в операторах if / else Временные метки Laravel для отображения миллисекунд как получить загруженный путь изображения в php и ajax? Неверное преобразование PHP strtotime Как я мог реорганизовать json-массивы и дать ключевую строку каждому ключу, выстраивая их в массивы в массиве через php? Использование createNativeQuery для объединения двух объектов без внешнего ключа Android: Json не может извлекать любые файлы из базы данных mysql, он пуст Php автоматически кодирует & в WordPress Импорт друзей Facebook с API SendGrid с динамическими параметрами PHP Неустранимая ошибка: исключить исключение SoapFault: preg_match_all соответствует нескольким строкам и получает значения, записанные в двойных кавычках Получить идентификатор элемента и установить его как переменную

Объединить или объединить массив вроде этого? на PHP

У меня есть многомерный массив 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]; } 

РЕДАКТИРОВАТЬ: Никогда не думал, что предыдущий ответ был исправлен.