Hi Sjoerd,

Thanks for pointing that out. You're absolutely right - LimitIterator
does provide similar functionality, but as you noted, it can't be
passed to array_search() or other array_* functions.

This is exactly the gap array_search_range() fills. It gives users a
simple, direct way to search within a range of an array without
needing to convert to iterators, manually loop, or create temporary
arrays with array_slice().

Best,
Sepehr


On جمعه ۱۴ اوت ۲۰۲۶، ۲۳:۲۴ Sjoerd Langkemper <[email protected]>
wrote:

> On Fri, Aug 14, 2026, at 20:32, Rowan Tommins [IMSoP] wrote:
>
> At heart, an ArraySlice object would just be a holder for those three
> values, plus a bit of code to iterate over that subset. Custom syntax would
> be nice, but easy to add later.
>
> Thinking about it, it ought to be trivial to build something on top of
> ArrayIterator, which already has a seek() method to jump to the start
> point. Which brings back a frequent debate about how the array_* functions
> should interact with iterators in general - should it actually be:
>
> iter_search(new ArraySliceIterator($arr, 10, 42), true)
>
>
> LimitIterator (https://www.php.net/manual/en/class.limititerator.php)
> more or less does this. But as you said, you cannot pass this to
> array_search, because that expects an array.
>
> Regards,
>
> Sjoerd
>
>

Reply via email to