Re: [RFC] array_search_range() function
| From: | Larry Garfield | Date: | Mon, 17 Aug 2026 18:55:35 +0000 |
| Subject: | Re: [RFC] array_search_range() function | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-132238@lists.php.net to get a copy of this message | ||
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