Moin Moin,
mit mehrdimensionalen Arrays allgemein stehe ich immer etwas auf Kriegsfuß und brauche bei der folgenden Sache etwas Hilfe. Das Endresultat soll so wenig wie möglich Ressourcen brauchen. Ausgangslage ist ein Array mit Produkten - jedes Produkt (P) kann mehrere Optionen (O) und die Optionen wiederum mehrere Optionswerte (V) haben (n >= 1):
Hier noch ein Beispiel mit Daten zur besseren Veranschaulichung (die Keys sind immer die IDs [Produkt-ID, Options-ID, Optionswert-ID]):
Ich benötige jetzt eine Möglichkeit um aus den gegebenen Daten ein neues Array mit allen möglichen Optionskombinationen zu erstellen, zb:
für Produkt 8:
Farbe/Fassungsvermögen: Pink/2 Liter
Farbe/Fassungsvermögen: Pink/4 Liter
Farbe/Fassungsvermögen: Schwarz/2 Liter
Farbe/Fassungsvermögen: Schwarz/4 Liter
für Produkt 21:
Farbe/Größe: Hellblau/62
Farbe/Größe: Hellblau/68
Farbe/Größe: Hellblau/74
Farbe/Größe: Hellblau/80
Farbe/Größe: Rosa/62
Farbe/Größe: Rosa/68
Farbe/Größe: Rosa/74
Farbe/Größe: Rosa/80
Idealerweise sollte dabei folgendes herauskommen:
MfG aGeNET
mit mehrdimensionalen Arrays allgemein stehe ich immer etwas auf Kriegsfuß und brauche bei der folgenden Sache etwas Hilfe. Das Endresultat soll so wenig wie möglich Ressourcen brauchen. Ausgangslage ist ein Array mit Produkten - jedes Produkt (P) kann mehrere Optionen (O) und die Optionen wiederum mehrere Optionswerte (V) haben (n >= 1):
Code:
Array (
[$Pn] => Array (
[$On] => Array (
[$Vn] => Array(...)
)
)
)
Code:
Array (
[8] => Array (
[1] => Array (
[2] => Array (
[model] =>
[price] =>
[name] => Farbe
[value] => Pink
)
[1] => Array (
[model] =>
[price] =>
[name] => Farbe
[value] => Schwarz
)
)
[2] => Array (
[3] => Array (
[model] => plwf01-p2
[price] =>
[name] => Fassungsvermögen
[value] => 2 Liter
)
[4] => Array (
[model] => plwf01-p4
[price] =>
[name] => Fassungsvermögen
[value] => 4 Liter
)
)
)
[21] => Array (
[1] => Array (
[7] => Array (
[model] =>
[price] =>
[name] => Farbe
[value] => Hellblau
)
[8] => Array (
[model] =>
[price] =>
[name] => Farbe
[value] => Rosa
)
)
[4] => Array (
[9] => Array (
[model] => bsae01-hb62
[price] =>
[name] => Größe
[value] => 62
)
[10] => Array (
[model] => bsae01-hb68
[price] =>
[name] => Größe
[value] => 68
)
[11] => Array (
[model] => bsae01-hb74
[price] =>
[name] => Größe
[value] => 74
)
[12] => Array (
[model] => bsae01-hb80
[price] =>
[name] => Größe
[value] => 80
)
)
)
)
Ich benötige jetzt eine Möglichkeit um aus den gegebenen Daten ein neues Array mit allen möglichen Optionskombinationen zu erstellen, zb:
für Produkt 8:
Farbe/Fassungsvermögen: Pink/2 Liter
Farbe/Fassungsvermögen: Pink/4 Liter
Farbe/Fassungsvermögen: Schwarz/2 Liter
Farbe/Fassungsvermögen: Schwarz/4 Liter
für Produkt 21:
Farbe/Größe: Hellblau/62
Farbe/Größe: Hellblau/68
Farbe/Größe: Hellblau/74
Farbe/Größe: Hellblau/80
Farbe/Größe: Rosa/62
Farbe/Größe: Rosa/68
Farbe/Größe: Rosa/74
Farbe/Größe: Rosa/80
Idealerweise sollte dabei folgendes herauskommen:
Code:
Array (
[8] => Array (
[0] => Array ('option_name' => 'Farbe/Fassungsvermögen', 'option_value' => 'Pink/2 Liter')
[1] => Array ('option_name' => 'Farbe/Fassungsvermögen', 'option_value' => 'Pink/4 Liter')
[2] => Array ('option_name' => 'Farbe/Fassungsvermögen', 'option_value' => 'Schwarz/2 Liter')
[3] => Array ('option_name' => 'Farbe/Fassungsvermögen', 'option_value' => 'Schwarz/4 Liter')
[21] => Array(
[0] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Hellblau/62')
[1] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Hellblau/68')
[2] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Hellblau/74')
[3] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Hellblau/80')
[4] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Rosa/62')
[5] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Rosa/68')
[6] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Rosa/74')
[7] => Array ('option_name' => 'Farbe/Größe', 'option_value' => 'Rosa/80')
)
)
MfG aGeNET
Zuletzt bearbeitet: