(PHP 4, PHP 5, PHP 7, PHP 8)
substr_count — Count the number of substring occurrences
substr_count() returns the number of times the
needle substring occurs in the
haystack string. Please note that
needle is case sensitive.
Note:
This function doesn't count overlapped substrings. See the example below!
haystackThe string to search in
needleThe substring to search for
offsetThe offset where to start counting. If the offset is negative, counting starts from the end of the string.
length
The maximum length after the specified offset to search for the
substring. It outputs a warning if the offset plus the length is
greater than the haystack length.
A negative length counts from the end of haystack.
This function returns an int.
| Version | Description |
|---|---|
| 8.0.0 |
length is nullable now.
|
| 7.1.0 |
Support for negative offsets and lengths has been added.
length may also be 0 now.
|
Example #1 A substr_count() example
<?php
$text = 'This is a test';
echo strlen($text), PHP_EOL; // 14
echo substr_count($text, 'is'), PHP_EOL; // 2
// the string is reduced to 's is a test', so it prints 1
echo substr_count($text, 'is', 3), PHP_EOL;
// the text is reduced to 's i', so it prints 0
echo substr_count($text, 'is', 3, 3), PHP_EOL;
// prints only 1, because it doesn't count overlapped substrings
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd'), PHP_EOL;
// throws an exception because 5+10 > 14
echo substr_count($text, 'is', 5, 10), PHP_EOL;
?>