koe*_*oen 5 php foreach nested nested-loops
当您需要检查/拥有数组元素的组合时,如何避免嵌套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
}
}
}
Run Code Online (Sandbox Code Playgroud)
有没有其他办法可以避免筑巢的人?
您可以编写自己的Iterator类来实现Iterator接口.然后,您可以让它的构造函数接受三个数组,然后您可以使用它来遍历与foreach的每个组合.
但是我认为这会慢得多,所以我会避免它.知道你想要避免嵌套的foreach循环的原因会很有趣吗?
| 归档时间: |
|
| 查看次数: |
4766 次 |
| 最近记录: |