За последние 24 часа нас посетили 21665 программистов и 1029 роботов. Сейчас ищут 777 программистов ...

Создать новый массив из исходного массива

Тема в разделе "PHP для новичков", создана пользователем Drummer, 5 июн 2023.

Метки:
  1. Drummer

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

    С нами с:
    30 май 2020
    Сообщения:
    9
    Симпатии:
    1
    Всем привет. Помогите разобраться, можно скинуть примеры.

    Исходный массив.

    PHP:
    1. $packsIn = [
    2.   1 => [
    3.     "title" => "title 1",
    4.     "dimensions" => "500x22",
    5.     "packItems" => [
    6.         {
    7.             0 => {
    8.                 "id" => "93"
    9.                 "title" => "pakc title 1.1"
    10.             },
    11.  
    12.             1 => {
    13.                 "id" => "94"
    14.                 "title" => "pakc title 1.1"
    15.             }
    16.         }
    17.     ]
    18.   ]
    19.  
    20.   2 => [
    21.     "title" => "title 2",
    22.     "dimensions" => "500x22",
    23.     "packItems" => [
    24.         {
    25.             0 => {
    26.                 "id" => "95"
    27.                 "title" => "pakc title 2.1"
    28.             },
    29.  
    30.             1 => {
    31.                 "id" => "96"
    32.                 "title" => "pakc title 2.2"
    33.             }
    34.         }
    35.     ]
    36.   ]
    37.  
    38.   3 => [
    39.     "title" => "title 3",
    40.     "dimensions" => "500x22 мм",
    41.     "packItems" => [
    42.         {
    43.             0 => {
    44.                 "id" => "97"
    45.                 "title" => "pakc title 3.1"
    46.             },
    47.  
    48.             1 => {
    49.                 "id" => "98"
    50.                 "title" => "pakc title 3.2"
    51.             }
    52.  
    53.             2 => {
    54.                 "id" => "99"
    55.                 "title" => "pakc title 3.3"
    56.             }
    57.         }
    58.     ]
    59.   ]
    60. ]
    Новый массив

    PHP:
    1. $packsOut = [
    2.     1 => [
    3.       "title" => "title 1",
    4.       "dimensions" => "500x22",
    5.       "packItems" => [
    6.           {
    7.               0 => {
    8.                   "id" => "93"
    9.                   "title" => "pakc title 1.1"
    10.               },
    11.  
    12.               1 => {
    13.                   "id" => "94"
    14.                   "title" => "pakc title 1.1"
    15.               }
    16.           }
    17.       ]
    18.     ]
    19.  
    20.     2 => [
    21.       "title" => "title 2",
    22.       "dimensions" => "500x22",
    23.       "packItems" => [
    24.           {
    25.               0 => {
    26.                   "id" => "95"
    27.                   "title" => "pakc title 2.1"
    28.               },
    29.  
    30.               1 => {
    31.                   "id" => "96"
    32.                   "title" => "pakc title 2.2"
    33.               }
    34.           }
    35.       ]
    36.     ]
    37.  
    38.     3 => [
    39.       "title" => "title 3 (1/2)",
    40.       "dimensions" => "500x22 мм",
    41.       "packItems" => [
    42.           {
    43.               0 => {
    44.                   "id" => "97"
    45.                   "title" => "pakc title 3.1"
    46.               },
    47.  
    48.               1 => {
    49.                   "id" => "98"
    50.                   "title" => "pakc title 3.2"
    51.               }
    52.           }
    53.       ]
    54.     ]
    55.  
    56.     4 => [
    57.         "title" => "title 3 (2/2)",
    58.         "dimensions" => "500x22 мм",
    59.         "packItems" => [
    60.             {
    61.                 0 => {
    62.                     "id" => "99"
    63.                     "title" => "pakc title 3.3"
    64.                 }
    65.             }
    66.         ]
    67.       ]
    68.   ]
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    я уже понял в чем тут прикол, но сначала найди силы отформатировать в валидный массив.
     
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.752
    Симпатии:
    1.322
    Адрес:
    Лень
    Во, готово!

    2023-06-06_01-37-42.png
    PHP:
    1. (
    2.     [0] => Array
    3.         (
    4.             [title] => title 1
    5.             [dimensions] => 500x22
    6.             [packItems] => Array
    7.                 (
    8.                     [0] => Array
    9.                         (
    10.                             [0] => Array
    11.                                 (
    12.                                     [id] => 93
    13.                                     [title] => pakc title 1.1
    14.                                 )
    15.  
    16.                             [1] => Array
    17.                                 (
    18.                                     [id] => 94
    19.                                     [title] => pakc title 1.1
    20.                                 )
    21.  
    22.                         )
    23.  
    24.                 )
    25.  
    26.         )
    27.  
    28.     [1] => Array
    29.         (
    30.             [title] => title 2
    31.             [dimensions] => 500x22
    32.             [packItems] => Array
    33.                 (
    34.                     [0] => Array
    35.                         (
    36.                             [id] => 95
    37.                             [title] => pakc title 2.1
    38.                         )
    39.  
    40.                     [1] => Array
    41.                         (
    42.                             [id] => 96
    43.                             [title] => pakc title 2.2
    44.                         )
    45.  
    46.                 )
    47.  
    48.         )
    49.  
    50.     [2] => Array
    51.         (
    52.             [title] => title 3 (1/2)
    53.             [dimensions] => 500x22 мм
    54.             [packItems] => Array
    55.                 (
    56.                     [0] => Array
    57.                         (
    58.                             [id] => 97
    59.                             [title] => pakc title 3.1
    60.                         )
    61.  
    62.                     [1] => Array
    63.                         (
    64.                             [id] => 98
    65.                             [title] => pakc title 3.2
    66.                         )
    67.  
    68.                 )
    69.  
    70.         )
    71.  
    72.     [3] => Array
    73.         (
    74.             [title] => title 3 (2/2)
    75.             [dimensions] => 500x22 мм
    76.             [packItems] => Array
    77.                 (
    78.                     [0] => Array
    79.                         (
    80.                             [id] => 99
    81.                             [title] => pakc title 3.3
    82.                         )
    83.  
    84.                 )
    85.  
    86.         )
    87.  
    88. )