如何在PHP中退出数组迭代函数(array_reduce)

Kon*_*nia 5 php arrays loops array-reduce

我有一个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;
});
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?或者我应该使用foreach代替?

kni*_*ttl 6

array_reduce用于编写始终迭代整个数组的函数式代码。您可以重写以使用常规 foreach 循环来实现短路逻辑,也可以简单地返回$carrier未修改的当前值。这仍然会迭代您的完整数组,但不会改变结果(正如您所说,这更类似于continue