我有两个课程:A.php
和B.php
我想生成一个一个对象和两个 B对象的所有组合。
例如,我们说我有这些对象:
A1
A2
B1
B2
B3
这是我想要产生的组合:
A1 B1 B2
A1 B1 B3
A1 B2 B3
A2 B1 B2
A2 B1 B3
A2 B2 B3
我使用Math_Combinatorics
包,可在此处找到:https://github.com/pear/Math_Combinatorics
我可以用它来生成相同类型对象的所有组合:
$Math = new Math_Combinatorics;
$objectsB = [$objectB1, $objectB2, $objectB3];
$combinations = $Math->combinations($objectsB, 2);
// Which results in ...
$object1, $object2
$object1, $object3
$object2, $object3
但是,当我想为不同类型的不同对象生成不同数量的组合时,我不知道如何实现这一目标。
在这种情况下,它是A的一个和B的两个,但理想情况下,这适用于每种类型的任何数量。