2015-10-03 4 views
-3

У меня есть массив:создать новый массив слияния

array(
    [0] => Array 
     (
       [d1] => Array 
       (
       ................ 
      ) 
       [d2] => Array 
       (
       ................ 
      ) 
     ) 
    [1] => Array 
     (
       [d1] => Array 
       (
       ................ 
      ) 
       [d2] => Array 
       (
       ................ 
      ) 
     ) 
) 

Как создать новый массив, чтобы объединить его, так что только d1 и d2, удалить индекс 0 и 1.

+0

Что вы пробовали до сих пор ?? –

+0

Неясно, что вы хотите сделать – Rizier123

+0

я хочу новый массив будет массив ( [d1] => Массив ( ................ ) [d2] => Массив ( ................ ) ) ) – user3309434

ответ

0

Для PHP>5.5.0 вы можете просто использовать array_column вроде как

$result['d1'] = call_user_func_array('array_merge',array_column($your_array,'d1')); 
$result['d2'] = call_user_func_array('array_merge',array_column($your_array,'d2')); 
print_r($result); 

Demo

0

Допустим, ваш имя массива $a, так что мы можем иметь:

$result = []; 
$result['d1'] = []; 
$result['d2'] = []; 
foreach ($a as $v) { 
    $result['d1'] = array_merge($result['d1'], $v['d1']) 
    $result['d2'] = array_merge($result['d2'], $v['d2']) 
} 

Теперь у вас есть то, что вы хотите в $result.

0

здесь ваше решение visit here

Пусть ваш массив $menus и после фильтра новый массив будет $filteredMenu. Ваш конечный результат $filteredMenu

<?php 
$menus = array(
     0 =>array(
      "d1" => array (
       "id"=> "----", 
        ), 
      "d2" => array (
       "id"=> "----", 
        ) 
      ), 
     1 =>array(
      "d1" => array (
       "id"=> "----", 
        ), 
      "d2" => array (
       "id"=> "----", 
        ) 
      ) 
      ); 

    $filteredMenu = []; 
    $filteredMenu['d1'] = []; 
    $filteredMenu['d2'] = []; 
    foreach ($menus as $item) { 
    $filteredMenu['d1'] = array_merge($filteredMenu['d1'], $item['d1']); 
    $filteredMenu['d2'] = array_merge($filteredMenu['d2'], $item['d2']); 
    } 

print_r($filteredMenu); 
?> 
Смежные вопросы