Re: [PHP-DEV] [RFC] [Discussion] array_match
[email protected] (youkidearitai)
| Newsgroups | php.internals |
|---|---|
| Message-ID | <CAEPPVa0+oSab_GrFjtWqgA7kV7JRSQiJaH2=Z_jcetThvLT-RQ@mail.gmail.com> |
2026年8月22日(土) 21:02 سپهر محمودی <[email protected]>: > > Hi everyone, > > As some of you may know, my previous RFC (`array_search_range`) faced significant opposition and feedback. I have listened to the community and officially withdrawn it. Thank you to everyone who took the time to review it. > > Today, I would like to introduce a new, much simpler, and highly focused RFC: `array_match()` > > Currently, if we want to filter an array to find elements containing a specific substring, we have to rely on `array_filter()` combined with a closure and `strpos()`/`stripos()`. This pattern is not only verbose but also carries the performance overhead of executing a PHP closure for every single array element. > > I am proposing a native function to handle this efficiently in C: > `array_match(array $array, string $needle, bool $ignore_case = false): array` > > This function preserves the original keys, safely casts values to strings, and provides a clean, intent-revealing syntax. By implementing this internally, we can significantly improve both readability and execution speed compared to userland polyfills. > > You can find all the use cases and examples detailed on the RFC page: > https://wiki.php.net/rfc/array_match > > I look forward to hearing your thoughts and feedback on this proposal! > > Best regards, > Sepehr Mahmoudi > Hi, Sepehr. I have some questions. - Why need this function? Is not enough in array_filter or array_find? - In GitHub, There are many use cases in same name functions. from: https://github.com/search?q=array_match+language%3APHP&type=code - In past RFC in str_icontains https://wiki.php.net/rfc/str_icontains was declind. So I don't think make sense that "case-insensitive" only ASCII now. For your reference: In big OSS like php-src, We investigate use case first. Regards Yuya -- --------------------------- Yuya Hamada (tekimen) - https://tekitoh-memdhoi.info - https://github.com/youkidearitai -----------------------------