2

mysqlレコードセットのすべての可能な組み合わせで何かを実行するphpスクリプトを作成する必要があります

例:
製品「車」
オプション1:燃料
オプション1の値:ガソリン、ガソリン
オプション2:色
オプション2の値:赤、青、緑
オプション3:ドア
オプション3の値:3、5

すべてのオプション/値のペア間の可能な組み合わせごとに、次のようなコードを実行するものが必要です。

組み合わせ1:ガソリン、赤、3
組み合わせ2:ガソリン、赤、5
組み合わせ3:ガソリン、青、3
組み合わせ4:ガソリン、青、5
...
組み合わせ10:ガソリン、青、5
..
組み合わせ100:ガソリン、緑、5

もちろん、オプション番号とオプション値番号は動的に生成されます

どうすればいいですか?

4

2 に答える 2

1

あなたの質問で提案しているのは、デカルト積です

静的な数の配列がある場合は @Moo-Juice コードを使用できますが、より複雑なロジックの場合、大量の配列を使用する必要がある場合や、配列がいくつあるかわからなくても、この質問を確認できます。最初の回答では、任意の数の配列のデカルト積を生成するアルゴリズムについて詳しく説明しています。

于 2013-02-24T20:39:48.833 に答える
0

これを行う最も簡単な方法は、「オプション」ごとにループすることです。このコードは、各オプション セットの値が配列にプリロードされていることを前提としています。

$optionSet1 = array("Gasoline", "Petrol");
$optionSet2 = array("Red", "Blue", "Green");
$optionSet3 = array(3, 5);

foreach($optionSet1 as $o1)
{
   foreach($optionSet2 as $o2)
   {
       foreach($optionSet3 as $o3)
       {
          // Do your thing with $o1, $o2, and $o3
       }
   }
}
于 2013-02-24T20:31:06.037 に答える