
Numero De Caracteres Numa String?
Started By ::: Mr.Crowley :::, 14/06/2005, 00:35
13 replies to this topic
#1
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
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
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};
}
ai para separar, vc usa um loop e um array:
for($x=0;$x==strlen($letras);$x++) {
$array_letras[] = $letras{$x};
}
#5
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?
#6
Posted 14/06/2005, 12:56
<?$numb = "892623"; $carac = strlen($numb); for ($i=0;$i<$carac;$i++) { echo $numb{$i}.'<br>'; } ?>
flws...

#7
Posted 14/06/2005, 13:07
acho que ai comeria o ultimo caracter, teria de ser:<?$numb = "892623"; $carac = strlen($numb); for ($i=0;$i<$carac;$i++) { echo $numb{$i}.'<br>'; } ?>
flws...
for($x=0;$x<=strlen ..
porque menor, nao pega o ultimo, o menor igual pega...
#8
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:
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,
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>
// Dados:
Nome("Guilherme Blanco");
Localidade("São Carlos - SP/Brasil");
Cargo("Manutenção");
</script>
#9
Posted 14/06/2005, 13:15
E desde quando $numb{$i} retornaria o caractere X da variável $numb ?! 
O correto seria: $numb[$i]
[]’s
Até mais

O correto seria: $numb[$i]
[]’s

#10
Posted 14/06/2005, 13:23
#11
Posted 14/06/2005, 13:24
O correto é {} mesmo, não [].E desde quando $numb{$i} retornaria o caractere X da variável $numb ?!
O correto seria: $numb[$i]
[]’s
http://us2.php.net/m...s.string.substr
#12
Posted 14/06/2005, 13:29
Ops ... 
HeHeHe ... dessa eu não sabia ...
Mas ... os dois modos funcionam, por isso que eu disse ...
[]’s
Até mais

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

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

[]’s

#13
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
flws...

#14
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!
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)