Position actuelle: Accueil> Derniers articles> Comment obtenir la longueur d'une chaîne correspondante en utilisant StrRist et Strlen?

Comment obtenir la longueur d'une chaîne correspondante en utilisant StrRist et Strlen?

gitbox 2025-09-22

Dans PHP, STRSTR et Strlen sont des fonctions de traitement de chaîne couramment utilisées, qui sont utilisées pour trouver des parties correspondantes des chaînes et calculer la longueur des chaînes, respectivement. En combinant raisonnablement ces deux fonctions, nous pouvons facilement obtenir la longueur d'une chaîne correspondante. Cet article expliquera en détail comment utiliser ces deux fonctions pour obtenir la longueur d'une chaîne correspondante.

1. Le rôle de la fonction STRST

La fonction strRist est utilisée pour trouver la position où une chaîne apparaît d'abord dans une autre chaîne et renvoie la pièce qui commence de cette position à la fin de la chaîne. La fonction est sensible à la casse et la pièce de match renvoyée contient le contenu de correspondance dans la chaîne d'origine. La syntaxe de base est la suivante:

 <span><span><span class="hljs-title function_ invoke__">stristr</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$needle</span></span><span>, </span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-variable">$before_needle</span></span><span> = </span><span><span class="hljs-literal">false</span></span><span>): </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">false</span></span><span>
</span></span>
  • $ Haystack : la chaîne cible à rechercher.

  • $ aiguille : la sous-chaîne à trouver.

  • $ before_needle : Si défini sur true , renvoie la chaîne du début à la position avant la sous-chaîne correspondante.

STRRIST renvoie la sous-chaîne correspondante, et si elle n'est pas trouvée, elle renvoie False .

2. La fonction de la fonction strlen

La fonction Strlen est utilisée pour calculer la longueur d'une chaîne. Il renvoie le nombre de caractères dans la chaîne, ignorant le type de caractères de codage. La syntaxe de base est la suivante:

 <span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>
  • $ String : La chaîne à calculer en longueur.

3. Mélanger STRSTR et Strlen pour obtenir la longueur de la chaîne correspondante

Lorsque nous devons trouver une sous-chaîne et obtenir la longueur de cette partie correspondante, nous pouvons utiliser StrRist et Strlen en combinaison. Les étapes spécifiques sont les suivantes:

  1. Utilisez STRST pour trouver la position de la première sous-chaîne correspondante dans la chaîne cible.

  2. Utilisez Strlen pour calculer la longueur de la chaîne correspondante.

Exemple de code

Supposons que nous ayons une back de hayst de String $ , nous voulons rechercher l' aiguille de sous-chaîne et calculer la longueur de sa pièce correspondante, le code est le suivant:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-variable">$haystack</span></span><span> = </span><span><span class="hljs-string">"PHP is a popular general-purpose scripting language."</span></span><span>;
</span><span><span class="hljs-variable">$needle</span></span><span> = </span><span><span class="hljs-string">"popular"</span></span><span>;

</span><span><span class="hljs-comment">// utiliser stristr Trouver des sous-chaînes correspondantes</span></span><span>
</span><span><span class="hljs-variable">$match</span></span><span> = </span><span><span class="hljs-title function_ invoke__">stristr</span></span><span>(</span><span><span class="hljs-variable">$haystack</span></span><span>, </span><span><span class="hljs-variable">$needle</span></span><span>);

</span><span><span class="hljs-comment">// Si la pièce correspondante est trouvée</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$match</span></span><span> !== </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-comment">// utiliser strlen Calculez la longueur de la partie correspondante</span></span><span>
    </span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-title function_ invoke__">strlen</span></span><span>(</span><span><span class="hljs-variable">$match</span></span><span>);
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"La longueur de la chaîne correspondante est: "</span></span><span> . </span><span><span class="hljs-variable">$length</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Aucune sous-chaîne correspondante n&#39;a été trouvée。"</span></span><span>;
}

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Analyser le code

  1. Nous définissons d'abord deux variables $ Haystack et $ cela aiguille , qui représentent la chaîne cible et la sous-chaîne respectivement.

  2. Utilisez STRST pour trouver l'emplacement où $ aiguille apparaît pour la première fois dans $ Haystack et enregistrez la partie correspondante à la variable $ match . Si la pièce correspondante est trouvée, STRSTR renvoie la pièce de la position correspondante à la fin de la chaîne.

  3. Si une pièce correspondante est trouvée, Strlen est utilisé pour calculer la longueur de cette pièce correspondante.

  4. Enfin, la sortie correspond à la longueur de la chaîne.

5. Résultat de sortie

Supposons que notre Back $ Hayst est "PHP est un langage de script à usage général populaire". et $ l'aiguille est "populaire", l'exécution du code ci-dessus sortira:

 <span><span><span class="hljs-section">La longueur de la chaîne correspondante est: 8</span></span><span>
</span></span>

En effet, "populaire" est une sous-chaîne correspondante et sa longueur est de 8.

6. Choses à noter

  • La pièce correspondante renvoyée par StrRist contient la sous-chaîne correspondante et tout ce qui suit, donc si nous ne nous soucions que de la longueur de la sous-chaîne correspondante elle-même, utilisez Strlen .

  • Si nous voulons cesser de rechercher avant de faire correspondre la sous-chaîne, nous pouvons utiliser le troisième paramètre de StrRist $ avant_NEEDLE et le définir sur true , et la chaîne retournée ne contient la pièce qu'avant la sous-chaîne.

Résumer

En combinant StrRist et Strlen , nous pouvons facilement trouver des chaînes correspondantes et calculer leur longueur. Ceci est très utile dans de nombreux scénarios, en particulier dans les tâches telles que le traitement des chaînes et l'extraction des données. Espérons que les exemples de cet article peuvent vous aider à mieux comprendre comment utiliser ces deux fonctions.