我有一个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更加相似)

10-05 18:23