substr_count
计算子字符串出现次数
计算 "Shanghai" 在字符串中出现的次数:
<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>
使用所有的参数:
<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">// 使用 strlen() 来返回字符串长度</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">// 字符串中 "is" 出现的次数</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">// 字符串缩减为 "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">// 字符串缩减为 "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">// 字符串缩减为 "s i"</span> <span class="token delimiter important">?></span></span>
重叠的子串:
<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">// 此函数不会对重叠的子字符串计数</span> <span class="token delimiter important">?></span></span>
如果 start 和 length 参数超过字符串长度,则该函数会输出一个警告:
<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>
因为长度值超过字符串的长度(3 + 9 大于 12),使用会输出一个警告。