Как собрать 3 массива в 1 массив, используя PHP? - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть 3 массива:

Array
(
    [0] => l_ka3a1
    [1] => l_ka3a2
    [2] => l_ka3a3
)
Array
(
    [0] => l_no_inspection
    [1] => l_elbab_alresi
    [2] => l_bab_alqa3a
)
Array
(
    [0] => notes
    [1] => notes
    [2] => null
)

Я хочу собрать их в 1 массив:

Array(
    Array
    (
        [0] => l_ka3a1
        [1] => l_no_inspection
        [2] => notes
    )
    Array
    (
        [0] => l_ka3a2
        [1] => l_elbab_alresi
        [2] => notes
    )
    Array
    (
        [0] => l_ka3a3
        [1] => l_bab_alqa3a
        [2] => null
    )
)

с каждым индексом в старых массивах с таким жеодин в другой и собери их в 1 массив.

Ответы [ 3 ]

0 голосов
/ 25 ноября 2018

Один из многих способов с использованием простой for петли,

$expected = [];
for($i=0;$i<3;$i++){
    $expected[] = [$arr1[$i],$arr2[$i],$arr3[$i]];
}
print_r($expected);

DEMO: https://3v4l.org/9Oo5D

0 голосов
/ 25 ноября 2018

Я не знаю, какой тебе нравится.Но для меня я сделаю вот так.

$array = [$arr1, $arr2, $arr3];

ИЛИ я сделаю его более динамичным, используя array_push ()

  $array = [];
  array_push($array, $arr1);
  // Some code maybe
  array_push($array, $arr2);
  // Some code maybe
  array_push($array, $arr3);
0 голосов
/ 25 ноября 2018

Используйте array_map() для создания нового массива, содержащего три целевых массива.

$newArr = array_map(function($v1, $v2, $v3){
    return [$v, $v2, $v3];
}, $arr1, $arr2, $arr3);

Результат проверки в demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...