Re: [PHP-DEV] [RFC] array_search_range() function
[email protected] ("Larry Garfield")
| Newsgroups | php.internals |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Aug 17, 2026, at 4:46 AM, سپهر محمودی wrote:
> Hello internals,
>
> I'd like to open discussion on a new RFC proposing the
> `array_search_range()` function.
>
> This function extends `array_search()` by allowing the search to be
> restricted to a specific range of the array, using an `$offset` and
> `$length` parameter — similar in spirit to how `array_slice()` works.
>
> RFC: https://wiki.php.net/rfc/array_search_range
> Implementation: https://github.com/php/php-src/pull/23325
>
> Proposed signature:
>
> function array_search_range(mixed $needle, array $haystack, int
> $offset = 0, ?int $length = null, bool $strict = false): int|false
>
> The main motivation is to avoid the overhead of slicing a large array
> just to search within a known sub-range, which is a common pattern when
> working with pagination or windowed processing.
>
> Example:
>
> $arr = ['a', 'b', 'c', 'd', 'e'];
> var_dump(array_search_range('c', $arr, 1, 3)); // 2
> var_dump(array_search_range('a', $arr, 3, 3)); // false
>
> The RFC is now Under Discussion. I welcome your feedback, questions,
> and suggestions.
>
> Best regards,
> Sepehr
I agree with Rowan's comments in the previous thread. I'd rather see an efficient array-range syntax first, then array_search() will "just work" in this way. I don't see it as a common enough use case that it is worth its own dedicated special function.
--Larry Garfield