我需要编写一个php脚本,它可以在mysql记录集的每个可能组合上执行某些操作
例:
产品“汽车”
选项1:燃料
选项1值:汽油,汽油
选项2:颜色
选项2值:红色,蓝色,绿色
选项3:门
选项3值:3,5,
我需要为所有选项/值对之间的每个可能组合执行一些代码,例如
组合1:汽油,红色,3
组合2:汽油,红色,5
组合3:汽油,蓝色,3
组合4:汽油,蓝色,5
...
组合10:汽油,蓝色,5
..
组合100:汽油,绿色,5
当然,选项编号和选项值编号是动态生成的
我该怎么办?
答案 0 :(得分:1)
您提出的问题是笛卡儿产品。
如果您有静态数量的数组,您可以使用@ Moo-Juice代码,但对于更复杂的逻辑,您必须使用大量数组,或者即使您不知道有多少数组将是,您可以查看this问题,其中第一个答案详细说明了生成任意数量数组的笛卡尔积的算法。
答案 1 :(得分: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
}
}
}