"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo encontrar la segunda aparición de una cadena en PHP usando un método alternativo?

¿Cómo encontrar la segunda aparición de una cadena en PHP usando un método alternativo?

Publicado el 2024-11-03
Navegar:252

How to Find the Second Occurrence of a String in PHP Using an Alternative Method?

Ubicar la segunda aparición de una cadena usando strpos: un enfoque alternativo

En respuesta a una consulta sobre cómo ubicar la segunda aparición de una cadena usando la función strpos , que normalmente se utiliza para encontrar la primera aparición, presentamos una solución alternativa.

El código proporcionado define una función personalizada, strposX, que permite la recuperación del Xésima aparición de una subcadena dentro de una cadena determinada. Esta función toma tres parámetros: $haystack (la cadena de origen), $needle (la subcadena que se ubicará) y $number, que representa la ocurrencia que se desea encontrar.

Para el escenario donde se encuentra la ocurrencia deseada. es el segundo (es decir, $número es 2), la función strposX se llama a sí misma de forma recursiva para identificar la posición de la primera aparición de la subcadena, agrega la longitud de la subcadena a esa posición y emplea strpos para localizar la segunda aparición dentro de la restante parte de la cadena.

Aquí hay una versión simplificada del código:

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

Utilizando esta función, se puede obtener fácilmente la segunda aparición de una subcadena dentro de una cadena, ofreciendo una solución versátil más allá de la identificación estándar de primera aparición proporcionada por strpos.

Declaración de liberación Este artículo se reproduce en: 1729233856 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3