PHP has got wide range of in-built functions for manipulating strings, in the post String Manipulation functions in PHP we discussed some of them which are frequently used/needed.
Here we’ll be discussing about the rest of the functions, but again not all of them.
implode() or join() function
Prototype: string implode(string separator, array arr);
This function does the opposite of explode() function. Explode divides a string into array of strings on a separator, this one joins an array of strings with a separator to form a string. join() and implode() functions are identical.
$str="PHP is a web programming language.";
$ar=explode(' ',$str);
//now $ar contains each word of the strings as
//different elements
$str2=implode(' ',$ar);
//again $str2 is joined using ' ' (spaces)
//now $str=$str2
strstr() function
Prototype: string strstr(string haystack, string needle);
It can be used to find a string or character (needle) within another string (haystack). If match is found, the function returns a substring of haystack from ‘needle’ onwards. It returns false if no match is found.
$str="Hi there!";
$str2=strstr($str, 't');
//now $str2='there!'
str_replace() function
Prototype: string str_replace(string needle, string new_needle,
string haystack, int &count);
‘count’ is optional.
This function does a find and replace, it replaces all the instances of ‘needle’ with ‘new_needle’ in ‘haystack’ returning the new haystack.
The optional argument, if supplied is set by the function to the number of replacements done.
$str="PHP is bad";
$str2=str_replace('bad', 'good', $str, $c);
//now $str="PHP is good" and $c=1
strcasecmp() function
Prototype: int strcasecmp(string str1, string str2);
This function works the same way as strcmp() function discussed in String Manipulation functions in PHP, it however does a non case-sensitive comparison.
$str="PHP";
$str2="php";
echo strcasecmp($str, $str2);
//both strings are same in non
//case-sensitive manner
strrpos() function
Prototype: int strrpos(string haystack, staring needle, int offset);
‘offset’ is optional
Again, this function is also identical to one of the function we’ve discussed strpos() except that in the case when there are more than one occurrence of ‘needle’ in ‘haystack’, it returns the position of the last occurrence unlike strpos() which returns the position of first occurrence.
$str="String manipulation and string functions";
echo strrpos($str, 'string');
//returns 24
Related Articles: