PHP substr_count() Function
Example
Count the number of times "world" occurs in the string:
<?php
echo substr_count("Hello world. The world is nice","world");
?>
Try it Yourself »
The substr_count() function counts the number of times a substring occurs in a string.
Note: The substring is case-sensitive.
Note: This function does not count overlapped substrings (see example 2).
Note: This function generates a warning if the start parameter plus the length parameter is greater than the string length (see example 3).
Syntax
substr_count(string,substring,start,length)
Parameter Values
Parameter | Description |
---|---|
string | Required. Specifies the string to check |
substring | Required. Specifies the string to search for |
start | Optional. Specifies where in string to start searching. If negative, it starts counting from the end of the string |
length | Optional. Specifies the length of the search |
Technical Details
Return Value: | Returns the the number of times the substring occurs in the string |
---|---|
PHP Version: | 4+ |
Changelog: | PHP 7.1 - The length parameters can be 0 or a negative number. PHP 7.1 - The start parameters can be a negative number. PHP 5.1 - The start and length parameters were added. |
More Examples
Example
Using all parameters:
<?php
$str = "This is nice";
echo strlen($str)."<br>"; // Using strlen() to return the string length
echo substr_count($str,"is")."<br>"; // The number of times "is" occurs in the string
echo substr_count($str,"is",2)."<br>"; // The string is now reduced to "is is nice"
echo substr_count($str,"is",3)."<br>"; // The string is now reduced to "s is nice"
echo substr_count($str,"is",3,3)."<br>"; // The string is now reduced to "s i"
?>
Try it Yourself »
Example
Overlapped substrings:
<?php
$str = "abcabcab";
echo substr_count($str,"abcab"); // This function does not count overlapped substrings
?>
Try it Yourself »
Example
If the start and length parameters exceeds the string length, this function will output a warning:
<?php
echo $str = "This is nice";
substr_count($str,"is",3,9);
?>
This will output a warning because the length value exceeds the string length (3+9 is greater than 12)
❮ PHP String Reference