در تاریخ شنبه ۲۲ اوت ۲۰۲۶، ۱۹:۱۰ Ayesh Karunaratne <[email protected]> نوشت:

> > 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!
>
>
> I'm thumbs down on this for a few reasons.
>
> 1. We already have `str_contains` function. It is more intuitive that
> a false `strpos` call, and it makes an `array_filter` function clean
> too.
>
> ```php
> array_filter($values, static fn($value) => str_contains($value, 'foo'));
> ```
>
> 2. I think this is a quite narrow use case. Even the RFC text example
> is arguably a poor use case for a `str_contains` check. When checking
> file extensions, it should be a str-ends-with check rather than a
> str-contains check.
>
> 3. Echoing what Yuya mentioned, the case sensitivity is quite
> difficult to reach a consensus on, for the same reasons why
> `str_icontains` RFC was declined. At this stage, I argue we should not
> add case-insensitive switches to any new functions.
>
> 4. Functions like this tend to be incomplete; someone else might argue
> for preserving array keys or filtering by array keys. We already have
> `array_filter` that can do all of it in any way the caller wants.
>
> 5. Finally, and somewhat opinionatedly, the word "match" resonates
> more with regular expressions. `preg_match` in PHP itself,
> `String.match()` in JS, `re.match()` in Python, etc to name a few.
>
> Thank you.
> Ayesh.
>

------‐-‐---

Hi Ayesh,

Thank you so much for your constructive feedback. I really appreciate the
points you raised!

Based on your suggestions and the feedback from the list, I have made
several major updates to the RFC. First, to avoid any confusion with
regular expressions, I have renamed the proposal and the function to
array_str_contains. I also removed the third parameter to keep the behavior
strictly aligned with the exact matching of str_contains(), and explicitly
stated that original array keys are preserved.

Regarding your valid point about using array_filter(), I have added a new
subsection under *“Use Cases”* specifically addressing *“Why a native
function instead of array_filter?”*. It highlights the ergonomics and the
performance benefits of avoiding closure overhead and context switching in
C. I also replaced the file extension example with a more practical URL
filtering scenario, as you suggested.

I would be grateful if you could take a look at the updated “Use Cases”
section. You can find the relocated and updated RFC page here:

https://wiki.php.net/rfc/array_str_contains

Thanks again for your time and for helping me improve this proposal.

Best regards,

Sepehr

>

Reply via email to