当你需要检查/拥有数组元素的组合时,如何避免嵌套foreach?
示例代码:
$as = array($optionA1, $optionA2)
$bs = array($optionB1, $optionB2)
$cs = array($optionC1, $optionC2)
foreach ($as as $a) {
foreach ($bs as $b) {
foreach ($cs as $c) {
$result = $this->method($a, $b, $c);
if ($result) etc
}
}
}
有人有可以避免嵌套的替代方法吗?
最佳答案
您可以编写自己的 Iterator 类来实现 Iterator interface .然后你可以让它的构造函数接受这三个数组,然后你可以用它来循环每个与 foreach 的组合。
但是我认为这会慢很多,所以我会避免它。知道您想避免嵌套 foreach 循环的原因会很有趣吗?
关于php - 组合 : avoiding multiple nested foreach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1173556/