Antilogarithm
Grünschnabel
Hallo zusammen,
ich komme leider nicht weiter, bestimmt kann mir von euch jemand auf die Sprünge helfen.
Ich habe zwei Arrays
Mit diesen beiden Arrays sollen nun alle möglichen Kombinationen gebildet werden, so dass man eine solche Liste erhält:
Hierzu habe ich versucht den entsprechenden PHP Code zu schreiben, leider funktioniert es so nicht wie gewünscht.
Hier mal mein fehlerhafter Code:
Mein Ergebnis sieht so aus:
Wie muss ich meinen Code umschreiben, damit ich das gewünschte Ergebnis bekomme?
Schönen Dank schon mal im Voraus für die Hilfe!
PS: Ja, es geht um eine PHP Umsetzung des ersten Teils der SQL Lösung von Yaslaw hier:
http://www.tutorials.de/relationale...orgehensweise-kombinationen-durchrechnen.html
ich komme leider nicht weiter, bestimmt kann mir von euch jemand auf die Sprünge helfen.
Ich habe zwei Arrays
PHP:
$aItems = array(
array( 'item' => 'item1'),
array( 'item' => 'item2'),
array( 'item' => 'item3')
);
$aVendors = array(
array( 'vendor' => 'shopA'),
array( 'vendor' => 'shopB'),
array( 'vendor' => 'shopC')
);
Mit diesen beiden Arrays sollen nun alle möglichen Kombinationen gebildet werden, so dass man eine solche Liste erhält:
Code:
id; item; vendor
-----------------
1; item1; shopA
1; item2; shopA
1; item3; shopA
2; item1; shopB
2; item2; shopA
2; item3; shopA
3; item1; shopC
3; item2; shopA
3; item3; shopA
4; item1; shopA
4; item2; shopB
4; item3; shopA
5; item1; shopB
5; item2; shopB
5; item3; shopA
6; item1; shopC
6; item2; shopB
6; item3; shopA
7; item1; shopA
7; item2; shopC
7; item3; shopA
[...]
26; item1; shopB
26; item2; shopC
26; item3; shopC
27; item1; shopC
27; item2; shopC
27; item3; shopC
Hierzu habe ich versucht den entsprechenden PHP Code zu schreiben, leider funktioniert es so nicht wie gewünscht.
Hier mal mein fehlerhafter Code:
PHP:
$cItems = count($aItems);
$cVendors = count($aVendors);
$comibinations = pow($cVendors, $cItems);
$vid = -1;
for ($id = 1; $id <= $comibinations; $id++)
{
echo "<br>";
if ($vid < $cVendors-1)
{
$vid++;
}
else
{
$vid = 0;
}
for ($i = 0; $i <= $cItems-1; $i++)
{
echo $id . "; " . $aItems[$i]['item'] . "; " . $aVendors[$vid]['vendor'] . "<br>";
$rows++;
}
}
echo "<br>Kombinationen: " . $id . " - Zeilen: " . $rows;
Mein Ergebnis sieht so aus:
Code:
1; item1; shopA
1; item2; shopA
1; item3; shopA
2; item1; shopB
2; item2; shopB
2; item3; shopB
3; item1; shopC
3; item2; shopC
3; item3; shopC
4; item1; shopA
4; item2; shopA
4; item3; shopA
[...]
26; item1; shopB
26; item2; shopB
26; item3; shopB
27; item1; shopC
27; item2; shopC
27; item3; shopC
Wie muss ich meinen Code umschreiben, damit ich das gewünschte Ergebnis bekomme?
Schönen Dank schon mal im Voraus für die Hilfe!
PS: Ja, es geht um eine PHP Umsetzung des ersten Teils der SQL Lösung von Yaslaw hier:
http://www.tutorials.de/relationale...orgehensweise-kombinationen-durchrechnen.html
Zuletzt bearbeitet: