Hi all,
I would like to create an RFC proposal suggesting modifying the
str_contains, str_starts_with and str_ends_with functions so that they can
accept an array argument for the $needle parameter (apart from accepting a
string as they do now). If an array is passed and the $haystack string
contains, starts with or ends with any of the strings in the array then the
functions will return true, otherwise returns false.
I looked at the RFCs where these functions were added and at the related
internal discussions and could not find any discussion about this
possibility.
Before creating the RFC I would like to hear the thoughts of the group,
many thanks in advance
Cheers
Carlos
Hi all,
I would like to create an RFC proposal suggesting modifying the
str_contains, str_starts_with and str_ends_with functions so that they can
accept an array argument for the $needle parameter (apart from accepting a
string as they do now). If an array is passed and the $haystack string
contains, starts with or ends with any of the strings in the array then the
functions will return true, otherwise returns false.I looked at the RFCs where these functions were added and at the related
internal discussions and could not find any discussion about this
possibility.
Before creating the RFC I would like to hear the thoughts of the group,
many thanks in advanceCheers
Carlos
The semantics for starts_with and ends_with are easy to argue they should mean any element, but for str_contains it could be useful to have either all, or any.
I'm therefore thinking it might be better to have separate functions to make this clear.
cheers
Derick
Hi all,
I would like to create an RFC proposal suggesting modifying the
str_contains, str_starts_with and str_ends_with functions so that they can
accept an array argument for the $needle parameter (apart from accepting a
string as they do now). If an array is passed and the $haystack string
contains, starts with or ends with any of the strings in the array then
the
functions will return true, otherwise returns false.I looked at the RFCs where these functions were added and at the related
internal discussions and could not find any discussion about this
possibility.
Before creating the RFC I would like to hear the thoughts of the group,
many thanks in advanceCheers
Carlos
The semantics for starts_with and ends_with are easy to argue they should
mean any element, but for str_contains it could be useful to have either
all, or any.I'm therefore thinking it might be better to have separate functions to
make this clear.cheers
Derick
Thanks Derick,
While “contains all” semantics can be useful in some niche scenarios, I
believe they are much less frequent than the "contains any" semantics. And
“contains any” is the direct parallel to the proposed behavior for
str_starts_with() and str_ends_with(), keeping the mental model consistent
across all three functions. Would like to hear the thoughts of other people
about this issue
Cheers
Carlos