Re: [RFC] Scan results for array_str_contains

From: Date: Fri, 04 Sep 2026 18:16:51 +0000
Subject: Re: [RFC] Scan results for array_str_contains
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-132431@lists.php.net to get a copy of this message
‪On Fri, 4 Sept 2026 at 19:03, ‫سپهر محمودی‬‎ <sepehrphpr@gmail.com> wrote:‬ > > > > در تاریخ جمعه ۴ سپتامبر ۲۰۲۶، ۲۱:۱۳ David CARLIER > <devnexen@gmail.com> نوشت: >> >> Hi, >> >> ‪On Thu, 3 Sept 2026 at 17:21, ‫سپهر محمودی‬‎ >> <sepehrphpr@gmail.com> wrote:‬ >> > >> > Hey internals, >> > >> > Just wanted to follow up with the real-world data I promised for array_str_contains(). >> > >> > I scanned the top 200 Composer packages (around 21,000 PHP files) to see how people >> > currently handle array substring searches. Here is what I found (32 matches total): >> > >> > - array_filter with str_contains: 8 >> > - array_filter with strpos: 8 >> > - array_filter with stripos: 6 >> > - foreach with str_contains: 6 >> > - array_filter with preg_match: 4 >> > >> > All these different (and sometimes verbose) approaches can simply be replaced with a >> > single, clean, and fast native call: >> > array_str_contains($haystack, $needle) >> > >> > I’ve updated the RFC with these findings: >> > https://wiki.php.net/rfc/array_str_contains >> > >> > If you want to check out the script or raw JSON results, I uploaded them here: >> > >> > https://gist.github.com/sepehrphpr/d4d371ba682cc43c4f258de94684cc91 >> > >> > Let me know what you think! >> > >> > Cheers, >> > Sepehr >> > >> >> quick look in the RFC about this >> >> "Non-string values in the array are implicitly cast to strings before >> the check". >> >> Is actually the case implementation wise ? > > > -------- > > Hi David, > > Yes, non-string scalar values (like integers or floats) can be cast/treated as strings during > the search (similar to how some string-matching functions handle scalar inputs), or skipped if not > convertible. > > I will make sure the wording in the RFC clearly explains how non-string values within the array > are handled. > > Best regards, > Sepehr > you probably need to update your test to demonstrate it.

« previous php.internals (#132431) next »