Jump to content


Photo

Numero De Caracteres Numa String?


  • Faça o login para participar
13 replies to this topic

#1 ::: Mr.Crowley :::

::: Mr.Crowley :::

    12 Horas

  • Usuários
  • 260 posts
  • Sexo:Não informado
  • Localidade:Balneário Camboriú - SC

Posted 14/06/2005, 00:35

1º)
bom galera...
eu to fazendo uma decodificação em PHP
seguinte eu queria saber qual comando q pega uma string e conta quantas letras tem nela...dps ele pegue kd letra separadamente e transforme em uma string kd letra.

ex:

string = "abcd"

a = 0000
b = 1111
c = 2222
d = 3333

pegastring(abcd)
decodifica(000011112222333)

2º) eu queria que o código decodificado se transformasse em uma palavra.
ex:

string = "0000111122223333"

a = 0000
b = 1111
c = 2222
d = 3333

decodificador(0000111122223333)
encodificador(abcd)

entenderam?

vlw ae []'s

#2 LucasMS

LucasMS

    Super Veterano

  • Usuários
  • 2076 posts
  • Sexo:Não informado

Posted 14/06/2005, 07:15

para contar: strlen();

ai para separar, vc usa um loop e um array:

for($x=0;$x==strlen($letras);$x++) {
$array_letras[] = $letras{$x};
}

#3 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 14/06/2005, 09:39

Para separar:

http://www.php.net/explode
Klaus Paiva
Conheça também: Taperás

#4 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 14/06/2005, 11:47

Para unir:

http://br2.php.net/implode

[]’s :DAté mais

#5 jasar

jasar

    POGNATOR

  • Banidos
  • PipPipPipPip
  • 306 posts
  • Sexo:Masculino
  • Localidade:são paulo
  • Interesses:girorapido.com.br melhor site de classificados do mundo , e é free

Posted 14/06/2005, 12:50

como ficaria o codigo por ex c eu tivesse um numero 892623 e quise-se separalo numero a numero?
:( tiraram minha assinatura mas 6 podem v ela ai
http://contagiro.flo...m.br/jasar.jpeg

#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 14/06/2005, 12:56

<?$numb = "892623";
$carac = strlen($numb);
for ($i=0;$i<$carac;$i++)
{
echo $numb{$i}.'<br>';
}
?>

flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 LucasMS

LucasMS

    Super Veterano

  • Usuários
  • 2076 posts
  • Sexo:Não informado

Posted 14/06/2005, 13:07

<?$numb = "892623";
$carac = strlen($numb);
for ($i=0;$i<$carac;$i++)
{
echo $numb{$i}.'<br>';
}
?>

flws...
;)

acho que ai comeria o ultimo caracter, teria de ser:

for($x=0;$x<=strlen ..

porque menor, nao pega o ultimo, o menor igual pega...

#8 Guilherme Blanco

Guilherme Blanco

    Loading...

  • Conselheiros
  • 891 posts
  • Sexo:Masculino
  • Localidade:São Carlos - SP/Brasil
  • Interesses:Programação Web e minha namorada (Maria Camila).

Posted 14/06/2005, 13:15

Olá.


Primeiro queria saber como definiria para depois da letra K, pois ela é 9999. =)

Tudo bem, depois de definido isso, vamos ao sistema. Ao invés de contar os caracteres, dê um str_split (PHP5).

Ou emule:

if (!function_exists('str_split')){
   function str_split($string, $max_length = 1){
       for($i = 0, $cur_length = 0, $cur_array = 0, $spl_string = array(0 => ''); isset($string{$i}); $i++, $cur_length++){
           if ($cur_length >= $max_length){
               $cur_length = 0;
               $cur_array++;
               $spl_string[$cur_array] = $string{$i};
           }
           else{
               $spl_string[$cur_array] .= $string{$i};
           }
       }
       return($spl_string);
   }
} 

Baseado nisso, você terá um array com 4 chars cada item. Assim, basta fazer um switch e decodificar, caso confira com o desejado.


Para codificar, dê um str_split sem length definido (retorna char por char) e faça a conversão da mesma forma como o decodificador.


Simples, fácil e rápido.


[]s,
<script language="WebFórum">
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>

#9 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 14/06/2005, 13:15

E desde quando $numb{$i} retornaria o caractere X da variável $numb ?! :wacko:

O correto seria: $numb[$i]

[]’s :DAté mais

#10 m3g4-br

m3g4-br

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 14/06/2005, 13:23

Da uma olhada no link

LINK AQUI FORMATANTO NÚMEROS

#11 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 14/06/2005, 13:24

E desde quando $numb{$i} retornaria o caractere X da variável $numb ?! :wacko:

O correto seria: $numb[$i]

[]’s :D

O correto é {} mesmo, não [].

http://us2.php.net/m...s.string.substr
Klaus Paiva
Conheça também: Taperás

#12 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 14/06/2005, 13:29

Ops ... :o

HeHeHe ... dessa eu não sabia ... :unsure:

Mas ... os dois modos funcionam, por isso que eu disse ... :P

[]’s :D Até mais

#13 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 14/06/2005, 13:33

Ch4cal, testei aqui e vi q tanto com o "=" ou sem ele o resultado é o mesmo... realmente vc tem razao... mas o porquê de com ou sem dar na mesmanao sei nao..

flws...
;)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#14 ::: Mr.Crowley :::

::: Mr.Crowley :::

    12 Horas

  • Usuários
  • 260 posts
  • Sexo:Não informado
  • Localidade:Balneário Camboriú - SC

Posted 15/06/2005, 01:19

nossa...galera desculpa a demora pra responder o tópico ae...é q eu uso 56k

mas....


vlw ae deu tudo certin []'s

1000x obrigadão!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq