Maison  >  Article  >  développement back-end  >  Comment trouver la deuxième occurrence ou la suivante d'une chaîne en PHP à l'aide de strposX ?

Comment trouver la deuxième occurrence ou la suivante d'une chaîne en PHP à l'aide de strposX ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-18 14:47:03946parcourir

How to Find the Second or Subsequent Occurrence of a String in PHP Using strposX?

Recherche de la deuxième occurrence d'une chaîne à l'aide de strpos

La fonction strpos en PHP est un outil utile pour trouver la position de la première occurrence d'une sous-chaîne dans une chaîne plus grande. Cependant, il peut y avoir des cas où vous devrez localiser la deuxième occurrence ou les occurrences suivantes.

Une approche pour trouver la deuxième occurrence consiste à utiliser une boucle ou une récursivité pour parcourir la chaîne et compter le nombre de fois où la sous-chaîne apparaît. Cependant, cela peut s'avérer inefficace et prendre du temps pour les grandes chaînes.

Une solution plus efficace consiste à utiliser la fonction strposX, une fonction personnalisée conçue spécifiquement à cet effet. Cette fonction prend trois paramètres : la botte de foin (la chaîne dans laquelle vous recherchez), l'aiguille (la sous-chaîne que vous recherchez) et le nombre (l'occurrence qui vous intéresse).

Le La fonction strposX s'appelle récursivement pour rechercher l'occurrence spécifiée. Si le nombre est 1, il se comporte comme strpos et renvoie la position de la première occurrence. Si le nombre est supérieur à 1, il ajoute la longueur de l'aiguille à la position de l'occurrence précédente et continue la recherche.

Voici une version simplifiée de la fonction strposX :

function strposX($haystack, $needle, $number = 0) {
  return strpos($haystack, $needle,
    $number > 1 ?
    strposX($haystack, $needle, $number - 1) + strlen($needle) : 0
  );
}

Cette fonction vous permet de trouver facilement la deuxième, la troisième ou toute occurrence ultérieure d'une sous-chaîne, ce qui en fait un outil précieux pour les tâches de manipulation de chaînes en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn