Как выйти из итерационных функций массива (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;
});

Как мне этого добиться? Или я должен использовать foreach вместо этого?

5

Решение

array_reduce используется для написания кода функционального стиля, который всегда перебирает весь массив. Вы можете либо переписать, чтобы использовать обычный цикл foreach для реализации логики короткого замыкания, либо просто вернуть текущий $carrier неизмененной. Это все равно будет повторять весь ваш массив, но это не изменит результат (как вы сказали, это больше похоже на continue)

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]