2013-10-07 4 views
0

У меня есть этот массив:Как сгруппировать многомерный массив по ключу с помощью php?

Array 
(
    [0] => Array 
     (
      [0] => 78 
      [mount] => 78 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-01 
      [insertdate] => 2013-10-01 
     ) 

    [1] => Array 
     (
      [0] => 130 
      [mount] => 130 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-02 
      [insertdate] => 2013-10-02 
     ) 

    [2] => Array 
     (
      [0] => 210 
      [mount] => 210 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-03 
      [insertdate] => 2013-10-03 
     ) 

    [3] => Array 
     (
      [0] => 190 
      [mount] => 190 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-04 
      [insertdate] => 2013-10-04 
     ) 

    [4] => Array 
     (
      [0] => 250 
      [mount] => 250 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-05 
      [insertdate] => 2013-10-05 
     ) 

    [5] => Array 
     (
      [0] => 300 
      [mount] => 300 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-06 
      [insertdate] => 2013-10-06 
     ) 

    [6] => Array 
     (
      [0] => 330 
      [mount] => 330 
      [1] => activation 
      [type] => activation 
      [2] => 2013-10-07 
      [insertdate] => 2013-10-07 
     ) 

    [7] => Array 
     (
      [0] => 100 
      [mount] => 100 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-01 
      [insertdate] => 2013-10-01 
     ) 

    [8] => Array 
     (
      [0] => 310 
      [mount] => 310 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-02 
      [insertdate] => 2013-10-02 
     ) 

    [9] => Array 
     (
      [0] => 200 
      [mount] => 200 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-03 
      [insertdate] => 2013-10-03 
     ) 

    [10] => Array 
     (
      [0] => 400 
      [mount] => 400 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-04 
      [insertdate] => 2013-10-04 
     ) 

    [11] => Array 
     (
      [0] => 470 
      [mount] => 470 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-05 
      [insertdate] => 2013-10-05 
     ) 

    [12] => Array 
     (
      [0] => 310 
      [mount] => 310 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-06 
      [insertdate] => 2013-10-06 
     ) 

    [13] => Array 
     (
      [0] => 600 
      [mount] => 600 
      [1] => revenue 
      [type] => revenue 
      [2] => 2013-10-07 
      [insertdate] => 2013-10-07 
     ) 

) 

Цель заключается в преобразовании его в 1 двухмерного массив, которые приводят как:

array([type]=>activation [mount]=>78,130,210,190,250,300,330), 
array([type]=>revenue [mount]=>100,310,200,400,470,310,600) 
+0

Простой Еогеасп сделает работу ... –

ответ

0

Существует очень простой способ сделать это с PHP4 и выше, то Функция называется array_merge_recursive(). Он объединит вспомогательные массивы в один. Если есть одинаковые ключи, это будет объединено в один ключ с массивом в качестве значения.

Посмотреть полную документацию here.

0

Я думаю, что это не самый лучший вариант, но в любом случае, это работает

foreach ($array as $value) { 
     $array2[$value['type']][] = $value['mount']; 
    } 
    foreach ($array2 as $key => $value) { 
     $result[] = array(
      'type' => $key, 
      'mount' => implode(',', $value) 
     ); 
    } 
+0

спасибо, это работает как шарм –

Смежные вопросы