За последние 24 часа нас посетили 20503 программиста и 1127 роботов. Сейчас ищут 714 программистов ...

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

Тема в разделе "PHP для новичков", создана пользователем JonyFront, 8 май 2022.

  1. JonyFront

    JonyFront Активный пользователь

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

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

    Заранее спасибо!
     
  2. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    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. ?>                                                                                              
     
    JonyFront нравится это.
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.734
    Симпатии:
    1.315
    Адрес:
    Лень
    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. )
     
    Dimon2x и JonyFront нравится это.
  4. Drunkenmunky

    Drunkenmunky Активный пользователь

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Круто, высокопрофессионально...
    Второй массив так же сделаете?
     
  5. JonyFront

    JonyFront Активный пользователь

    С нами с:
    5 июн 2016
    Сообщения:
    143
    Симпатии:
    1
    Всем спасибо большое за помощь!)