2

我需要编写一个 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 回答