• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

djthyrax

[PHP]lastIndexOf

4 mensagens neste tópico

Assim quick and dirty para o zeroonnet no IRC:

function lastIndexOf($substr, $str){
    if(false !== ($r = strpos(strrev($str), strrev($substr)))) return strlen($str)-$r-strlen($substr);
    return false;
}

Retorna false quando $substr não existe em $str.

(Originalmente era só strlen($str)-strpos(strrev($str), strrev($substr))-strlen($substr);, mas dá jeito prevenir contra eventualidades :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bule nas horas xD podias era explicar o code detalhadamente para eu nao ter de tar a puxar pela cabeça para o perceber xD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como queremos pesquisar do final para o inicio e o strpos faz do inicio para o fim, fazemos reverse à needle e ao keystack. Como a posição retornada é a contar do fim para o inicio da string original, é fazer strlen($str)-$r para ter a posição a seguir ao último char da $substr na $str, bastando tirar de lá o strlen($substr) para termos do 1o char. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora