Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed PHP Functions!
You have completed PHP Functions!
Preview
Strings are a major data type for us in PHP and something we will often need to search, parse, & test against. Let's look at some of the most common of the PHP's built-in string functions.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
Strings are a major data type for us in
PHP and
0:00
something we'll need to search, parse, and
test against very often.
0:03
Let's look at some of the most common of
PHP's built in string functions.
0:07
The last function that we were looking at
is strlen.
0:13
We were looking at it just to see how we
actually utilize strlen.
0:16
Now, let's go ahead over to Workspaces.
0:20
I'm gonna toggle over and actually use
strlen.
0:23
We're gonna look at a few different string
functions.
0:27
So, mainly they're meant to manipulate or
look into strings.
0:30
They might return something other than a
string such as,
0:34
strlen is going to return integer.
0:37
However, we want to work with strings.
0:39
So, we'll use string functions.
0:42
Let's start by defining a string.
0:44
We will call it phrase.
0:47
And, that phrase will be we only hit what
we aim for.
0:51
All right.
0:59
Going to end that with a semi-colon and
hit save.
1:00
Now, what we want to do is look at our
strlen doc.
1:02
So, it's gonna return to us an integer
value of how long a string is.
1:06
So, we're going to call strlen.
1:10
So, we'll say, strlen, right?
1:13
Let's just make sure that's correct.
1:15
strlen, right.
1:18
And then, our argument that we pass
through, if you look here on the docs,
1:20
is a string.
1:24
So, we have our string, which is phrase,
so we'll pass through phrase.
1:25
Okay.
And then, end it with a semicolon.
1:31
Now, this won't output anything, but it
will run the string length, so
1:33
we'll actually assign that to a variable
and call it $len.
1:36
All right.
1:40
Now, all we have to do is echo that to our
screen.
1:41
So, echo and then len.
1:44
Okay.
Let's switch over and preview this.
1:49
Okay.
And, we get 27.
1:52
So, we have a total of 27 characters in
length, in our string.
1:53
Pretty cool.
1:57
Okay.
So next,
2:01
we're going to take a look at two
different string functions.
2:02
One of them is gonna be sub-string,
S-U-B-S-T-R, and
2:06
the other one is going to be strpos
or string position.
2:11
So, S-T-R-P-O-S.
2:17
So, let's go over and open up a page for
2:19
the docs and find substr and strpos.
2:21
So, we'll go ahead and copy that.
2:25
I'll create a new one here.
2:27
And then, I'm gonna paste in substr,
and it says return part of a string.
2:29
So, you'll see here that in the definition
or
2:34
in the description, we're going to return
part of a string.
2:37
It's going to return to us a string value.
2:39
It's expecting 2 arguments.
2:43
This first argument is string or whatever
string we want to look through.
2:45
The second is a integer value from where
it wants to start.
2:49
So, we can start at the first position or
so
2:53
many positions by character down the
string.
2:55
Then, if you notice in the square
brackets, that means it's optional.
3:00
But, we can pass through an optional length.
3:03
So, let's go ahead and play with this now
inside of WorkSpaces.
3:06
So, we'll do that by go ahead and using
the keyword or the function substr.
3:12
So, S-U-B-S-T-R.
3:17
Then, we're going to pass through the
first argument which is the actual phrase.
3:20
Okay.
And then,
3:26
the second one is where we want to start.
3:27
So, we want to start from a zero based
position, so we'll hit zero.
3:29
And then, we'll go ahead and close this,
and then hit Save.
3:33
And, that's going to start from position
one, and
3:38
it's going to return the entire string.
3:40
So, lets actually echo that out, directly
and see what we get back.
3:43
Just wanna switch back over to our
preview, and then we
3:47
see we only hit what we aim for.
3:50
Now, that's just returning the whole
string.
3:53
But, what if we wanted to start from say,
so many characters in?
3:55
Let's head back over, and we're going to
pass through a second argument, or
3:58
our first argument we're going to change.
4:02
Instead of zero, or the first position,
we'll change it to position five.
4:03
We'll hit save, and go back over and
refresh.
4:07
So now, it says, ly hit what we aim for,
because we started at position five.
4:11
Now, what if we started at position 0, but
4:16
we only wanted to get the first five
characters?
4:19
Well, we can do that too just by simply
passing our third or
4:21
optional argument, which would be in this
case, the numeric 5.
4:25
Switch back over and refresh.
4:28
And now, it says, We on.
4:31
Now, at first glance, you might think,
okay, this is only four characters.
4:33
But, there is a space in between the we
and
4:36
the o, n, so that actually counts as a
character.
4:39
So, a space is technically a character for
us.
4:42
So, we and then space, o, n, is a total of
five characters.
4:46
The next one we wanna look at is string
position.
4:51
So, S-T-R-P-O-S.
4:53
Let's switch back over and look at the
manual and
4:54
we'll go to the search S-T-R-P-O-S.
4:58
Here it is.
5:01
So, this is going to find the first
position or
5:02
the position of the first occurrence of a
sub-string inside of a string.
5:06
So, they've used the keywords here, or
the, the array names to make a little bit
5:11
of sense in the description that says
needle and haystack.
5:15
So, there's a phrase called looking for a
needle in a haystack.
5:19
Well, our haystack is our full string, and
the needle is how we,
5:22
what we want to find.
5:26
So, it's going to be a particular
occurrence,
5:28
using the needle inside of the haystack.
5:31
So, let's take a look at it in code, and
see what we get back.
5:33
Okay?
5:37
So, here we're gonna switch back over to
workspaces, and
5:38
we're going to actually comment out this
line, just for any confusion.
5:41
And then, go echo, and then S-T-R-P-O-S.
5:45
And then, our haystack, which is the first
thing that goes through, is our phrase.
5:50
Then, if you look back over at our
documentation,
5:55
the needle is also required.
5:59
So, we will actually have to pass through
a needle.
6:00
Now, in this case, if you scroll down
here.
6:03
It says if the needle is not a string,
it's then converted to an integer and
6:06
applied as the ordinal value of a
character.
6:11
So, it's expecting that you would put
through a string normally.
6:14
So, you can put through an integer but
6:19
in this case, we're gonna put through a
string.
6:21
So, we're going to put through hit as a
string.
6:23
So, quote H-I-T, and another single quote,
and then hit semi-colon.
6:25
So, we'll save that and switch back over
to our preview.
6:31
Okay.
So, it returned to
6:35
us a integer value of eight.
6:36
So, it's at position eight.
6:39
Let's look at the docs and see what it
means by position.
6:40
So, it's going to return to us a string
position, okay?
6:44
So, it is a string position starting at
zero, not one.
6:48
So, if you notice here it says,
6:53
also note that string positions start at
zero and not one.
6:55
So, for us, when it says eight, that means
that the w on line three is actually zero.
6:59
So, if we count all the way out to the h,
7:05
the h arrives at integer eight in a
zero-based index.
7:07
So, that's how we find it.
7:12
Now, if we were to, say change this to
Bob, and hit save, and
7:13
then we go back and refresh.
7:19
What we're gonna get is nothing, but if we
were to var_dump this instead of
7:21
printing it or instead of echoing it to
the screen, let's see what we get.
7:27
We get a Boolean false.
7:33
If we look at our manual here, we'll
actually see that it
7:34
returns false if the needle was not found,
which is exactly what we were expecting.
7:38
So, we can search for
7:42
a string inside of another string, and get
the position that it starts from.
7:44
And then, return the string starting at
that point or
7:49
do any kind of other functions that we
need with this.
7:52
So, we can actually combine the two
functions we just used.
7:55
So, let's do that now.
7:58
So, here we have echo substr, which is
fine, we're gonna continue to use that,
8:00
but I'm actually gonna move it below here.
8:04
And then, I'm going to do a string
position, but
8:07
I'm going to assign it to a variable called
start.
8:09
And then, I'm going to search for
8:13
a particular phrase, which in our case is
going to be hit, right?
8:15
And then, what I want to do is actually
echo the word
8:20
hit until the end of the sentence.
8:24
So in substring I remove my final
argument.
8:27
And, instead of passing an integer to line
15 as the second argument,
8:30
I'll pass through my variable, which is an
integer value called start.
8:34
Let's save that and go back over to our
page and refresh, and see what we get.
8:39
So now, we get, hit what we aim for, which
is exactly what I was looking for.
8:45
So, you can see by combining two different
string functions in one little bit
8:49
of code we can actually get some very
powerful, powerful results.
8:54
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up