substr_count
Calculez le nombre d'occurrences de sous-chaînes
Calculez le nombre de fois "Shanghai" apparaît dans une chaîne:
<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">"J'adore Shanghai. Shanghai est la plus grande ville de Chine."</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>
Utilisez tous les paramètres:
<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">"c'est sympa"</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">// utilise strlen () pour retourner la longueur de la chaîne</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">// Nombre de fois "est" apparaît dans la chaîne</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">// La chaîne est réduite à "est sympa"</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">// La chaîne est réduite à "s c'est bien"</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">// La chaîne est réduite à "Si"</span> <span class="token delimiter important">?></span></span>
Sous-lames qui se chevauchent:
<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">// Cette fonction ne compte pas les sous-chaînes qui se chevauchent</span> <span class="token delimiter important">?></span></span>
Si les paramètres de démarrage et de longueur dépassent la longueur de la chaîne, la fonction sort un avertissement:
<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">"C'est sympa"</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>
Étant donné que la valeur de longueur dépasse la longueur de la chaîne (3 + 9 est supérieure à 12), un avertissement est sorti à l'aide.