I've discovered that several native string functions offer a character mask
as a parameter.

I've laid out my observations at
https://stackoverflow.com/q/72865138/2943403

In a nutshell, not all character masks offer ranges via "double dot"
syntax. Or should I refer to ".." as the "string spread operator" to avoid
naming conflict with "..." -- the better known "spread operator" (array
spread operator)?

Rowan/@IMSoP informed me that the current division between the haves and
the have-nots appears to be based on the source language from which PHP
pulled. Essentially, if from C, the double dot does not represent a range.
https://chat.stackoverflow.com/transcript/11?m=54864842#54864842

Character ranges are not yet supported for:
- strcspn()
- strpbrk()
- strspn()

Before I fire off an RFC, I would like to know:

1. Are there any reasonable objections to consistently implementing
character range expressions for all character masks?
2. Are there any native functions that I did not mention my Stack Overflow
answer?
3. Is it true that only single-byte characters can be used in all
scenarios? If so, must it remain that way?
4. Is there already an official or widely-used term that I should be using
for the two-dot operator?

I should also mention that I initially considered requesting that all
character mask parameters be named $mask (instead of $separators, $token,
or $characters), but I later resigned to the fact that changing to a name
that describes the texture of the string would remove the more
vital/intuitive purpose of the string.  I suppose the best that can be done
to inform developers is to explicitly mention in the documentation when
character range expressions are implemented and demonstrate their usage in
an example (not just as a user comment at the bottom; this isn't In-N-Out
Burger -- put your offerings on the frickin' menu!).

mickmackusa

Reply via email to