【发布时间】:2019-07-27 02:19:22
【问题描述】:
与Generating all the combinations of a set of boolean variables in Haskell 和其他各种类型的问题有关。
我在数据库中有一堆拨动开关,想要获取所有可能设置的列表。 开关的数量可以改变,具体来说,用户可以添加或删除。
我可以把它们放到一个数组中
$switches = array('aaa', 'bbb', 'ccc');
我想产生所有的可能性,例如:
$states = array(
array('aaa' => false, 'bbb' => false, 'ccc' => false),
array('aaa' => false, 'bbb' => false, 'ccc' => true),
array('aaa' => false, 'bbb' => true, 'ccc' => false),
array('aaa' => false, 'bbb' => true, 'ccc' => true),
...
);
我并不特别关心结果集的顺序。
生成它的优雅方法是什么?
【问题讨论】:
-
递归在这里是正确的方法。您应该能够根据此处的答案解决问题:stackoverflow.com/questions/21556945/…
-
到目前为止,您尝试什么了吗?就个人而言,我会计算开关,从 0 迭代到 ^2n-1 并将整数的位映射到开关。
-
@FranzGleichmann 这正是我在回答中提供的:)
-
@FranzGleichmann 是的,我尝试了一种不太成功的简单递归方法。
-
@dWinder 快速检查了一下,它似乎有效,但最后我选择了另一个答案。
标签: php arrays boolean combinations php-7