我有一个array_reduce函数,当满足特定条件时,我愿意退出。
$result = array_reduce($input, function($carrier, $item) {
// do the $carrier stuff
if (/* god was one of us */) {
break; //some break analogue
}
return $carrier;
});
我该如何实现?还是应该改用foreach?
最佳答案
array_reduce
用于编写始终在整个数组上迭代的功能样式的代码。您可以重写以使用常规的foreach循环来实现短路逻辑,也可以简单地返回未修改的当前$carrier
。这仍然会遍历整个数组,但不会改变结果(如您所说,这与continue
更加相似)