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

edferreira

strings

8 mensagens neste tópico

Boas,

Eu tenho uma string con 'n' caracteres, mas so pretendo imprimir os 15 primeiros.

Como posso fazer isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

$string = "qwertyuiopasdfghjklçzxcvbnmqwertyuiopasdfghjklçzxcvbnm";

for($i=0;$i<15;$i++){
    echo "$string[$i]";
}

Não sou um expert em PHP, mas penso que seja isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Correcção:

$string = "qwertyuiopasdfghjklazxcvbnmqwertyuiopasdfghjklazxcvbnm";

$resultado = "";
for($i=0;$i<15;$i++){
    $resultado .= $string{$i};
}

echo $resultado;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigada na mesma mas já encontrei.

No caso 'Eu amo php' usando a função substr teriamos o resultado:

$texto="eu amo php";

echo ($texto); //imprimia 'eu amo php'

echo(substr($texto,1,4); //imprimia 'u am'

Obrigado pelas respostas de qualquer maneira.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

djthyrax, correcção ou sugestão? O meu código não imprimia os 15 primeiros números?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Correcção.

Houve uma pequena alteração no PHP em relação á strings e o acesso a carácteres individuais através dos parênteses rectos. Já não sei bem, mas ou é versões mais antigas, ou versões mais recentes, em que isso não funciona. Por outro lado, o acesso através de chavetas funciona sempre, se não estou em erro, e é o método recomendado.

Basicamente, aceder por [] interpreta a string como uma array numérico, e devolve o carácter naquela posição. Funciona (em algumas versões, como disse já não me lembro bem quando surgiu a mudança), mas não é a melhor forma.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Correcção.

Houve uma pequena alteração no PHP em relação á strings e o acesso a carácteres individuais através dos parênteses rectos. Já não sei bem, mas ou é versões mais antigas, ou versões mais recentes, em que isso não funciona. Por outro lado, o acesso através de chavetas funciona sempre, se não estou em erro, e é o método recomendado.

Basicamente, aceder por [] interpreta a string como uma array numérico, e devolve o carácter naquela posição. Funciona (em algumas versões, como disse já não me lembro bem quando surgiu a mudança), mas não é a melhor forma.

Por acaso não sabia. Mas tenho estado a aprender PHP e sempre vi exemplos com [], foi por isso que perguntei se era realmente correcção. Mas obrigado por esclareceres. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, correcção. [] usa-se para arrays, {} para as strings :) No entanto, usar a substr() é mais limpo :)

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