substr_count

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_countCount the number of substring occurrences

Description

substr_count(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?int $length = null
): int

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!

Parameters

haystack

The string to search in

needle

The substring to search for

offset

The 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.

Return Values

This function returns an int.

Changelog

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.

Examples

Example #1 A substr_count() example

<?php
$text 
'This is a test';
echo 
strlen($text); // 14

echo substr_count($text'is'); // 2

// the string is reduced to 's is a test', so it prints 1
echo substr_count($text'is'3);

// the text is reduced to 's i', so it prints 0
echo substr_count($text'is'33);

// generates a warning because 5+10 > 14
echo substr_count($text'is'510);


// prints only 1, because it doesn't count overlapped substrings
$text2 'gcdgcdgcd';
echo 
substr_count($text2'gcdgcd');
?>

See Also

  • count_chars() - Return information about characters used in a string
  • strpos() - Find the position of the first occurrence of a substring in a string
  • substr() - Return part of a string
  • strstr() - Find the first occurrence of a string