Доработка массива

Добрый день, есть такой массив: https://pastebin.com/SLGPdkya, в нем есть одинаковые значения ‘cParent’ , например ‘cParent’ => ‘Двигатель’, как можно с помощью foreach, сгруппировать данные с одинаковыми значениями сParent? Чтобы по итогу вывести на экран так:
Двигатель
— Все значения
Трансмиссия и управление
— Все значения
и т.д

Сейчас когда делаю foreach, то выходит только так:
Двигатель
— Значение
Двигатель
— Значение
Двигатель
— Значение
Трансмиссия и управление
— Все значения
Трансмиссия и управление
— Все значения
и т.д

Заранее спасибо!

 

PHP:
  1. <pre>                                                                                          
  2. <?php                                                                                          
  3.                                                                                                
  4. $arr = array( array(‘a’ => ‘value A0’, ‘b’ => ‘value B0’, ‘c’ => ‘value C0’, ‘d’ => ‘value D0’),
  5.               array(‘a’ => ‘value A0’, ‘b’ => ‘value B0’, ‘c’ => ‘value C0’, ‘d’ => ‘value D0’),
  6.               array(‘a’ => ‘value A1’, ‘b’ => ‘value B1’, ‘c’ => ‘value C1’, ‘d’ => ‘value D1’),
  7.               array(‘a’ => ‘value A1’, ‘b’ => ‘value B1’, ‘c’ => ‘value C1’, ‘d’ => ‘value D1’),
  8.               array(‘a’ => ‘value A2’, ‘b’ => ‘value B2’, ‘c’ => ‘value C2’, ‘d’ => ‘value D2’),
  9.               array(‘a’ => ‘value A2’, ‘b’ => ‘value B2’, ‘c’ => ‘value C2’, ‘d’ => ‘value D2’),
  10.               array(‘a’ => ‘value A2’, ‘b’ => ‘value B2’, ‘c’ => ‘value C2’, ‘d’ => ‘value D2’)
  11.               );                                                                              
  12.                                                                                                
  13. $new_arr1 = array();                                                                          
  14. $new_arr2 = array();                                                                          
  15.                                                                                                
  16. foreach($arr as $row)                                                                          
  17. {                                                                                              
  18.     foreach($row as $column => $cell)                                                          
  19.     {                                                                                          
  20.       $new_arr1[$column][] = $cell;                                                            
  21.     }                                                                                          
  22.                                                                                                
  23.     $new_arr2[$row[‘b’]][] = array ($row[‘a’], $row[‘c’], $row[‘d’]);                          
  24. }                                                                                              
  25.                                                                                                
  26. print_r($new_arr1);                                                                            
  27. print_r($new_arr2);                                                                            
  28. ?>                                                                                              
 

PHP:
  1. <?php
  2.  
  3. $arr = array( array(‘a’ => ‘value A0’, ‘b’ => ‘value B0’, ‘c’ => ‘value C0’, ‘d’ => ‘value D0’),
  4.               array(‘a’ => ‘value A0’, ‘b’ => ‘value B0’, ‘c’ => ‘value C0’, ‘d’ => ‘value D0’),
  5.               array(‘a’ => ‘value A1’, ‘b’ => ‘value B1’, ‘c’ => ‘value C1’, ‘d’ => ‘value D1’),
  6.               array(‘a’ => ‘value A1’, ‘b’ => ‘value B1’, ‘c’ => ‘value C1’, ‘d’ => ‘value D1’),
  7.               array(‘a’ => ‘value A2’, ‘b’ => ‘value B2’, ‘c’ => ‘value C2’, ‘d’ => ‘value D2’),
  8.               array(‘a’ => ‘value A2’, ‘b’ => ‘value B2’, ‘c’ => ‘value C2’, ‘d’ => ‘value D2’),
  9.               array(‘a’ => ‘value A2’, ‘b’ => ‘value B2’, ‘c’ => ‘value C2’, ‘d’ => ‘value D2’)
  10.               );
  11.  

PHP:
  1. (
  2.     [a] => Array
  3.         (
  4.             [0] => value A0
  5.             [1] => value A0
  6.             [2] => value A1
  7.             [3] => value A1
  8.             [4] => value A2
  9.             [5] => value A2
  10.             [6] => value A2
  11.         )
  12.  
  13.     [b] => Array
  14.         (
  15.             [0] => value B0
  16.             [1] => value B0
  17.             [2] => value B1
  18.             [3] => value B1
  19.             [4] => value B2
  20.             [5] => value B2
  21.             [6] => value B2
  22.         )
  23.  
  24.     [c] => Array
  25.         (
  26.             [0] => value C0
  27.             [1] => value C0
  28.             [2] => value C1
  29.             [3] => value C1
  30.             [4] => value C2
  31.             [5] => value C2
  32.             [6] => value C2
  33.         )
  34.  
  35.     [d] => Array
  36.         (
  37.             [0] => value D0
  38.             [1] => value D0
  39.             [2] => value D1
  40.             [3] => value D1
  41.             [4] => value D2
  42.             [5] => value D2
  43.             [6] => value D2
  44.         )
  45.  
  46. )
 

Круто, высокопрофессионально…
Второй массив так же сделаете?

 

Всем спасибо большое за помощь!)

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *