Добавление данных из нескольких массивов в один
задача очень простая
<?php
$cpModels_79 = [
['cp7937', '431', 'Cisco CP-7937'],
['cp7940', '8', 'Cisco CP-7940'],
['cp7941', '115', 'Cisco CP-7941'],
];
$cpModels_net = [
['ipv4', '172.17.42.200', '24'],
['ipv4', '72.17.42.13', '24'],
['ipv4', '72.17.42.24', '24'],
];
$cpModels = [];
foreach ($cpModels_79 as $items) {
$cpModels[] = $items;
}
$i = 0;
foreach ($cpModels_net as $items) {
array_push($cpModels[$i], $items);
$i++;
}
print_r($cpModels);
Array
(
[0] => Array
(
[0] => cp7937
[1] => 431
[2] => Cisco CP-7937
[3] => Array
(
[0] => ipv4
[1] => 172.17.42.200
[2] => 24
)
)
В целом с таким выходом тоже можно работать, но хотелось бы получить как ниже, array_push($cpModels[$i], list($a) = $items) пробовал, но выход получился идентичный выше
Array
(
[0] => Array
(
[0] => cp7937
[1] => 431
[2] => Cisco CP-7937
[3] => Array
[4] => ipv4
[5] => 172.17.42.200
[6] => 24
)
Ответы (1 шт):
Автор решения: Daniel Protopopov
→ Ссылка
<?php
$cpModels_79 = [
['cp7937', '431', 'Cisco CP-7937'],
['cp7940', '8', 'Cisco CP-7940'],
['cp7941', '115', 'Cisco CP-7941'],
];
$cpModels_net = [
['ipv4', '172.17.42.200', '24'],
['ipv4', '72.17.42.13', '24'],
['ipv4', '72.17.42.24', '24'],
];
$results = [];
foreach($cpModels_79 as $key => $value) {
$results[] = array_merge($value, $cpModels_net[$key]);
}
print_r($results);
Array
(
[0] => Array
(
[0] => cp7937
[1] => 431
[2] => Cisco CP-7937
[3] => ipv4
[4] => 172.17.42.200
[5] => 24
)
[1] => Array
(
[0] => cp7940
[1] => 8
[2] => Cisco CP-7940
[3] => ipv4
[4] => 72.17.42.13
[5] => 24
)
[2] => Array
(
[0] => cp7941
[1] => 115
[2] => Cisco CP-7941
[3] => ipv4
[4] => 72.17.42.24
[5] => 24
)
)