У меня есть 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'
);
Количество значений в массиве один и два всегда одинаково. Я думал, что это будет возможно с «для каждого», но я не могу найти рабочее решение …
Спасибо за любую помощь!
Вы можете сделать это легко, используя array_combine
а также array_merge
функция:
$data = array_merge($data,array_combine($arr1,$arr2));
print_r($data);
Таким образом, вы можете сделать цикл 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);
Пожалуйста, проверьте ниже код, который я запустил в моей системе.
$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
,