Current Location: Home> Function Categories> substr_count

substr_count

Calculate the number of occurrences of substrings
Name:substr_count
Category:String
Programming Language:php
One-line Description:Calculates the number of times a substring appears in a string.

Example

Example 1

Calculate the number of times "Shanghai" appears in a string:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">echo</span> <span class="token function">substr_count</span> <span class="token punctuation">(</span> <span class="token string double-quoted-string">"I love Shanghai. Shanghai is the biggest city in china."</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"Shanghai"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

Try it yourself

Example 2

Use all parameters:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"This is nice"</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">strlen</span> <span class="token punctuation">(</span> <span class="token variable">$str</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Use strlen() to return the string length</span>
<span class="token keyword">echo</span> <span class="token function">substr_count</span> <span class="token punctuation">(</span> <span class="token variable">$str</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"is"</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// Number of times "is" appears in the string</span>
<span class="token keyword">echo</span> <span class="token function">substr_count</span> <span class="token punctuation">(</span> <span class="token variable">$str</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"is"</span> <span class="token punctuation">,</span> <span class="token number">2</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// The string is reduced to "is is nice"</span>
<span class="token keyword">echo</span> <span class="token function">substr_count</span> <span class="token punctuation">(</span> <span class="token variable">$str</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"is"</span> <span class="token punctuation">,</span> <span class="token number">3</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// The string is reduced to "s is nice"</span>
<span class="token keyword">echo</span> <span class="token function">substr_count</span> <span class="token punctuation">(</span> <span class="token variable">$str</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"is"</span> <span class="token punctuation">,</span> <span class="token number">3</span> <span class="token punctuation">,</span> <span class="token number">3</span> <span class="token punctuation">)</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"<br>"</span> <span class="token punctuation">;</span> <span class="token comment">// The string is reduced to "si"</span>
<span class="token delimiter important">?></span></span>

Try it yourself

Example 3

Overlapping substrings:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"abcabcab"</span> <span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token function">substr_count</span> <span class="token punctuation">(</span> <span class="token variable">$str</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"abcab"</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span> <span class="token comment">// This function does not count overlapping substrings</span>
<span class="token delimiter important">?></span></span>

Try it yourself

Example 4

If the start and length parameters exceed the string length, the function outputs a warning:

 <span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token keyword">echo</span> <span class="token variable">$str</span> <span class="token operator">=</span> <span class="token string double-quoted-string">"This is nice"</span> <span class="token punctuation">;</span>
<span class="token function">substr_count</span> <span class="token punctuation">(</span> <span class="token variable">$str</span> <span class="token punctuation">,</span> <span class="token string double-quoted-string">"is"</span> <span class="token punctuation">,</span> <span class="token number">3</span> <span class="token punctuation">,</span> <span class="token number">9</span> <span class="token punctuation">)</span> <span class="token punctuation">;</span>
<span class="token delimiter important">?></span></span>

Because the length value exceeds the length of the string (3 + 9 is greater than 12), a warning is outputted using it.