substr_compare
substr_replace
String Functions
PHP Manual

# substr_count

Count the number of substring occurrences

### Description

int substr_count ( string `$haystack` , string `$needle` [, int `$offset` = 0 [, int `$length` ]] )

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

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

### Return Values

This function returns an integer.

### Changelog

Version | Description
--- | ---
5.1.0 | Added the `offset` and the `length` parameters

### 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', 3, 3);
// generates a warning because 5+10 > 14
echo substr_count($text, 'is', 5, 10);
// prints only 1, because it doesn't count overlapped substrings
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>`

### See Also

- count_chars
- strpos
- substr
- strstr