Объединить несколько массивов Laravel - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть 3 массива следующим образом:

"promotion_news_id" => array:3 [▼
    0 => "ID1"
    1 => "ID2"
    2 => "ID3"
  ]
  "promotion_news_name" => array:3 [▼
    0 => "abc 1"
    1 => "abc 2"
    2 => "abc 3"
  ]
  "news_id" => array:3 [▼
    0 => "Title 1"
    1 => "Title 2
  ]

Я хочу объединить эти 3 массива в 1 массив следующим образом:

array:3 [▼
  0 => array:3 [▼
    'promotion_news_id' => "ID1"
    'promotion_news_name' => "abc 1"
    'news_id' => "Title 1"

  ]
  1 => array:3 [▼
    'promotion_news_id' => "ID2"
    'promotion_news_name' => "abc 2"
    'news_id' => "Title 2" 
  ],
  2 => array:3 [▼
    'promotion_news_id' => "ID3"
    'promotion_news_name' => "abc 3"
    'news_id' => "null"

  ]
]

Я пытался, но не удалось получить нулевое значение. Любая помощь высоко ценится! Большое спасибо!

Ответы [ 2 ]

5 голосов
/ 20 апреля 2020

Предположим, что все три массива имеют одинаковое количество элементов,

$result = [];
foreach($promotion_news_id as $index => $value){
    $result[] = array(
        'promotion_news_id' => $value
        'promotion_news_name' => $promotion_news_name[$index]
        'news_id' => $news_id[$index]
    )
}

Также не уверен, почему у вас нулевое значение как "null" вместо null. Первый - это просто строка, а не фактическое нулевое значение.

0 голосов
/ 20 апреля 2020

Вместо "null" поставить null

Документация здесь

...