"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como encontrar a segunda ocorrência de uma string em PHP usando um método alternativo?

Como encontrar a segunda ocorrência de uma string em PHP usando um método alternativo?

Publicado em 2024-11-03
Navegar:556

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

Localizando a segunda ocorrência de uma string usando strpos: uma abordagem alternativa

Em resposta a uma consulta sobre como localizar a segunda ocorrência de uma string usando a função strpos , que normalmente é usado para encontrar a primeira ocorrência, apresentamos uma solução alternativa.

O código fornecido define uma função customizada, strposX, que permite a recuperação da Xª ocorrência de uma substring dentro de uma determinada string. Esta função leva três parâmetros: $haystack (a string de origem), $needle (a substring a ser localizada) e $number, que representa a ocorrência desejada a ser encontrada.

Para o cenário onde a ocorrência desejada é o segundo (ou seja, $number é 2), a função strposX chama a si mesma recursivamente para identificar a posição da primeira ocorrência da substring, adiciona o comprimento da substring a essa posição e emprega strpos para localizar o segunda ocorrência na parte restante da string.

Aqui está uma versão simplificada do código:

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

Utilizando esta função, pode-se obter facilmente a segunda ocorrência de uma substring dentro de uma string, oferecendo uma solução versátil além da identificação padrão da primeira ocorrência fornecida por strpos.

Declaração de lançamento Este artigo foi reimpresso em: 1729233856 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3