PHP объединяет 2 массива и включает 3-й массив

У меня есть 2 данные arrys:

Массив один (которые являются «Заголовками»):

Array
(
[0] => Kompatible Produkte
[1] => Drucktechnologie
[2] => Druckfarben
[3] => BCP-Tintentropfenfarbe
[4] => Temperaturbereich bei Lagerung
[5] => Paketgewicht
[6] => Verpackungsabmessungen (BxTxH)
)

И Массив два (которые являются «значениями»)

Array
(
[0] => HP Designjet 5500, 5500ps, 5000, 5000ps
[1] =>
[2] => Black
[3] =>
[4] => -40 - 60
[5] => 230
[6] => 114 x 36 x 264
)

Теперь я хотел бы объединить эти 2 массива в 3 массива …
Массив 3 выглядит так:

$data[] = array(
'sku' => '291',
'_type' => 'simple',
'_attribute_set' => 'Default',
'_product_websites' => 'base',
'name' => 'C4950A',
'manufacturer' => 'HP Inc.',
'meta_autogenerate' => 'yes',
'short_description' => 'HP 81',
'qty' => 2,
);

И я хотел бы иметь это:

$data[] = array(
'sku' => '291',
'_type' => 'simple',
'_attribute_set' => 'Default',
'_product_websites' => 'base',
'name' => 'C4950A',
'manufacturer' => 'HP Inc.',
'meta_autogenerate' => 'yes',
'short_description' => 'HP 81',
'qty' => 2,

'Kompatible Produkte' => 'HP Designjet 5500, 5500ps, 5000, 5000ps',
'Drucktechnologie' => '',
'Druckfarben' => 'Black',
'BCP-Tintentropfenfarbe' => '',
'Temperaturbereich bei Lagerung' => '-40 - 60',
'Paketgewicht' => '230',
'Verpackungsabmessungen (BxTxH)' => '114 x 36 x 264'
);

Количество значений в массиве один и два всегда одинаково. Я думал, что это будет возможно с «для каждого», но я не могу найти рабочее решение …

Спасибо за любую помощь!

0

Решение

Вы можете сделать это легко, используя array_combine а также array_merge функция:

$data = array_merge($data,array_combine($arr1,$arr2));
print_r($data);
2

Другие решения

Таким образом, вы можете сделать цикл foreach довольно легко.

$a = ['a','b','c'];

$b = ['a1','b1','c1'];

$c = [
'e' => 'e1',
'd' => 'd1'
];

foreach($a as $key => $value){

$c[$value] = $b[$key];

}

print_r($c);
1

Пожалуйста, проверьте ниже код, который я запустил в моей системе.

$arr1 = array("Kompatible Produkte", "Drucktechnologie", "Druckfarben", "BCP-Tintentropfenfarbe", "Temperaturbereich bei Lagerung", "Paketgewicht", "Verpackungsabmessungen (BxTxH)");
$arr2 = array("HP Designjet 5500, 5500ps, 5000, 5000ps", "", "Black", "", "-40 - 60", "230", "114 x 36 x 264");
$arr3 = array(
'sku' => '291',
'_type' => 'simple',
'_attribute_set' => 'Default',
'_product_websites' => 'base',
'name' => 'C4950A',
'manufacturer' => 'HP Inc.',
'meta_autogenerate' => 'yes',
'short_description' => 'HP 81',
'qty' => 2,
);

$tempArr = array_combine($arr1, $arr2);
$result = array_merge($arr3, $tempArr);

echo "<pre>";
print_r($result);

Просто использовать array_combine а также array_merge,

0
По вопросам рекламы [email protected]