PHP Internals News: Episode 46: str_contains()
In this episode of “PHP Internals News” I chat with Philipp Tanlak (GitHub, Xing) about his str_contains()
RFC.
The RSS feed for this podcast is https://derickrethans.nl/feed-phpinternalsnews.xml, you can download this episode’s MP3 file, and it’s available on Spotify and iTunes. There is a dedicated website: https://phpinternals.news
Transcript
- Derick Rethans 0:16
-
Hi, I’m Derick. And this is PHP internals news, a weekly podcast dedicated to demystifying the development of the PHP language. This is Episode 46. Today I’m talking with Phillipp Tanlak, about an RFC that he’s made titled str_contains. Phillipp, would you please introduce yourself.
- Philipp Tanlak 0:35
-
Hey, Derick. My name is Philipp. I’m 25 years old and I live in Germany. I work for an IT service company, which does mainly development and maintenance of IT projects. We specialise in the maintenance of e-commerce website and create enterprise applications.
- Derick Rethans 0:52
-
How long have you been using PHP for?
- Philipp Tanlak 0:54
-
I’ve been using PHP for quite a long time now that might be six years I guess.
- Derick Rethans 0:58
-
What brought to you creating an RFC?
- Philipp Tanlak 1:02
-
The main reason I’ve created this RFC was out of necessity and interest, mainly to scratch my own itch.
- Derick Rethans 1:08
-
That is how most things make it into PHP in the end isn’t it?
- Philipp Tanlak 1:11
-
Yeah, I guess.
- Derick Rethans 1:12
-
The RFC is titled str_contains, that tells me something that is about strings and containing things. How do we currently find a string in a string?
- Philipp Tanlak 1:22
-
The current approach to find the string in a string is to use the strpos() function or the strstr() function. But on Reddit, I found someone also use preg_match which I find kind of interesting.
- Derick Rethans 1:35
-
There are multiple amount of different methods in use, what are the general problems with these approaches that people have made?
- Philipp Tanlak 1:41
-
So the current approach which I find is not very intuitive, and mainly because of the return values of these functions. For example, the strpos() returns either the position where the string is found, or a false value if the string is not found, but there has to be a check with a !== operation, and the strstr() function just returns a string. So you have to convert that to a boolean to check if the string is found or not.
- Derick Rethans 2:11
-
Because with strpos(), if you wouldn’t use the === or !== operator. Of course, if it would find it at the first position of the string, it’d be zero position, and it would return false, even though it’s sfound it.
- Philipp Tanlak 2:26
-
Yeah.
- Derick Rethans 2:27
-
So there’s a few different problems with these things. Also, I don’t think it’s particularly vary intuitive to do because you sort of need to come up with like a whole construct to see whether it’s part of a string.
- Philipp Tanlak 2:37
-
Correct. I don’t think it’s intuitive for a beginner. So if someone is learning PHP for
Truncated by Planet PHP, read more at the original (another 9479 bytes)