substr_count
Calculate the number of occurrences of substrings
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>
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>
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>
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.