Snowden 94 Denunciar post Postado Janeiro 9, 2012 queria ajuda para definir qual a última ocorrência <?php $texto = 'aaaaaaa01aaaaaaa01aaaaaa02'; $busca = array ('00','01','02','03'); $cont = sizeof($busca); for ($i = 0; $i<$cont; $i++) { $num = $busca[$i]; $pos = strripos($texto, $num); if ($pos == true) { echo "Foi encontrado ($num) em ($pos)<br>"; } } ?> no exemplo acima ele encontra o último "01" eo último "02" porem quero saber apenas o último de todos ou seja o "02". teria como verificar tipo com IF á maior posição dada pelo ($pos) dai teria a última ocorrência xD mais não sei como, ja quebrei a cabeça aki mano. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Augusto 417 Denunciar post Postado Janeiro 9, 2012 Não sei se entendi bem o que você quer. Por isso fiz duas possíveis tentativas. var_dump( substr( $texto, strrpos( $texto, '01' ), 2 ) ); // string(2) "01" var_dump( strrpos( $texto, '01' ) ); // int(16) Compartilhar este post Link para o post Compartilhar em outros sites
Snowden 94 Denunciar post Postado Janeiro 9, 2012 Não sei se entendi bem o que você quer. Por isso fiz duas possíveis tentativas. var_dump( substr( $texto, strrpos( $texto, '01' ), 2 ) ); // string(2) "01" var_dump( strrpos( $texto, '01' ) ); // int(16) amigo vlw pela atenção mais isso não tem nada á ver =( no meu exemplo acima ele imprime isso.. Foi encontrado (01) em (16) Foi encontrado (02) em (24) mais..!!! queria que só fosse impresso "Foi encontrado (02) em (24)" por q ele éo último, tendeu ? Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Janeiro 9, 2012 queria que só fosse impresso "Foi encontrado (02) em (24)" por q ele éo último, tendeu ? <?php $texto = 'aaaaaaa01aaaaaaa01aaaaaa02'; $busca = array ('00','01','02','03'); $p = null; $o = -1; foreach ( $busca as $i ) { $c = strrpos( $texto , $i ); if ( $c !== false && $c > $o ) { $p = $i; $o = $c; } } if ( $o != -1 ) { echo 'Foi encontrado ' , $p , ' em ' , $o; } Compartilhar este post Link para o post Compartilhar em outros sites
Snowden 94 Denunciar post Postado Janeiro 9, 2012 Caramba João, vlw mesmo cara ;) Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Janeiro 9, 2012 Caramba João, vlw mesmo cara ;) Você ainda pode fazer o seguinte ajusta de otimização: <?php $texto = 'aaaaaaa01aaaaaaa01aaaaaa02'; $busca = array ('00','01','02','03'); $p = null; $o = -1; $l = strlen( $texto ); foreach ( $busca as $i ) { $c = strrpos( $texto , $i ); if ( $c !== false && $c > $o ) { $p = $i; $o = $c; if ( $c + strlen( $i ) == $l ) { //Evita que o loop continue caso a posição do elemento somado ao //seu comprimento seja igual ao tamanho do texto. break; } } } if ( $o != -1 ) { echo 'Foi encontrado ' , $p , ' em ' , $o; } Compartilhar este post Link para o post Compartilhar em outros sites
Snowden 94 Denunciar post Postado Janeiro 10, 2012 Você ainda pode fazer o seguinte ajusta de otimização: Da hora João, brigado pela força Compartilhar este post Link para o post Compartilhar em outros sites