За последние 24 часа нас посетил 8671 программист и 825 роботов. Сейчас ищет 391 программист ...

Преобразовать массив

Тема в разделе "PHP для новичков", создана пользователем Hovik, 1 сен 2020.

  1. Hovik

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

    С нами с:
    22 окт 2018
    Сообщения:
    89
    Симпатии:
    0
    Здравствуйте не могу решить одну задачу, помогите пожалуйста
    есть многомерный массив
    PHP:
    1. (
    2.     [0] => Array
    3.         (
    4.             [0] => make
    5.             [1] => join
    6.             [2] => simone
    7.             [3] => bob
    8.         )
    9.     [1] => Array
    10.         (
    11.             [0] => 1
    12.             [1] => 1
    13.             [2] => 3
    14.             [3] => 5
    15.         )
    16.  
    17.     [2] => Array
    18.         (
    19.             [0] => 1
    20.             [1] => 1
    21.             [2] => 1
    22.             [3] => 4
    23.         )
    24. )
    нужно создать другой или преобразовать существующий массив на
    PHP:
    1. $res = [
    2.        ['make',1,1],
    3.        ['join',1,1],
    4.        ['simone',3,1],
    5.        ['bob',5,4]
    6. ];
     
  2. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. <?php
    2. $array = Array
    3. (
    4.     0 => Array
    5.         (
    6.             0 => 'make',
    7.             1 => 'join',
    8.             2 => 'simone',
    9.             3 => 'bob'
    10.         ),
    11.     1 => Array
    12.         (
    13.             0 => 1,
    14.             1 => 1,
    15.             2 => 3,
    16.             3 => 5
    17.         ),
    18.     2 => Array
    19.         (
    20.             0 => 1,
    21.             1 => 1,
    22.             2 => 1,
    23.             3 => 4
    24.         )
    25. );
    26.  
    27. $res = [];
    28.  
    29. for($i = 0; $i < count( $array[0] ); ++$i)
    30. {
    31.     for($s = 0; $s < count( $array ); ++$s)
    32.     {
    33.         $res[$i][$s] = $array[$s][$i];
    34.     }
    35. }
    36.  
    37. print_r( $res );
     
  3. Hovik

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

    С нами с:
    22 окт 2018
    Сообщения:
    89
    Симпатии:
    0
    Спасибо работает
     
  4. Grigoriy Kozheletov

    Grigoriy Kozheletov Новичок

    С нами с:
    2 сен 2020
    Сообщения:
    13
    Симпатии:
    5
    Адрес:
    г. Раменское, Московская область
    Здравствуйте, я вот так решил.
    PHP:
    1. $arr =
    2.     [
    3.           ['make', 'join', 'simone', 'bob'],
    4.           [1, 1, 3, 5],
    5.           [1, 1, 1, 4]
    6.     ];
    7.  
    8. $newArr = [];
    9.  
    10. foreach ($arr as $index => $element)
    11. {
    12.     foreach ($element as $innerIndex => $innerValue){
    13.         $newArr[$innerIndex][] = $innerValue;
    14.     }
    15. }