PHP é a quinta-feira – Ciclos While e for

18 Comentários

Por Luis Leite para o Pplware

Este é o meu primeiro post de muitos, espero eu, aqui no pplware. O Pedro Pinto lançou este desafio  no IRC de alguém tentar pegar na rubrica do PHP e eu vou tentar realizá-lo.

Como reparei que ainda não se tinha falado em Ciclos While e For, decidi começar por aí!

php

Ciclo While e Ciclo for

Os Ciclos são transversais a todas as linguagens de programação.

Ambos  os ciclos (while e for) são idênticos, tanto que podemos trocar um While por um for e vice-versa. A utilização de qualquer um deles é tomada pelo programador. Claro que há situações onde um While se aplica com mais facilidade e outras em que um FOR é o mais indicado.

While

Quer dizer “Enquanto” e a sua sintaxe é a seguinte:

while(condição)

{

//bloco de código

}

Ou seja, enquanto a condição se verificar, executa determinado código.

Exemplo de um ciclo WHILE:

<?

$numero=1;

while ($numero<=10)

{

echo “Número: $numero\n”;

$numero++;

}

?>

Aproveitando o serviço ideone apresentado aqui no pplware, podem verificar e correr o código anterior aqui

Este código inicia a variável $numero com o valor 1. Depois, entrando dentro do ciclo WHILE, que executa um bloco de código, enquanto a variável $numero for inferior ou igual a 10. No bloco, temos um echo que nos vai indicar qual o valor da variável, e logo a seguir, temos o incremento de uma unidade da variável $numero. O resultado da execução do script é a seguinte:

Número: 1

Número: 2

Número: 3

Número: 4

Número: 5

Número: 6

Número: 7

Número: 8

Número: 9

Número: 10

Enquanto a condição tiver o valor VERDADEIRO, o bloco de código do While é executado.

Ciclo for

O ciclo for, tem uma particularidade em relação ao WHILE. Enquanto um while a variável de contagem, e a instrução de incremento, quando existem, são declaradas em pontos diferentes do código, o ciclo FOR junta essas declarações no mesmo local onde define a condição.

Sintaxe de um FOR:

for (declaração de variáveis; condição de execução; incrementos de variáveis)

{

//bloco de código a executar

}

Na primeira zona declaramos as variáveis (normalmente os contadores ou índices); na segunda zona indicamos as condições de execução do ciclo for: enquanto essas condições tiverem o valor VERDADEIRO, o ciclo é realizado; na 3 zona, é onde vamos indicar os incrementos das variáveis/contadores.

Utilizando o exemplo do WHILE, vamos construir um FOR:

<?

for ($numero=1; $numero<=10; $numero++)

{

echo “Número: $numero\n”;

}

?>

Podem ver aqui e testar no ideone o código anterior

O resultado deste ciclo é exactamente igual ao do WHILE. Neste tipo de ciclo, onde iniciamos uma variável, e incrementamos essa mesma variável para control do ciclo, o FOR tem vantagem na sua implementação.

Assim sendo:

Utilizamos ciclos sempre que temos linhas de código repetidas. Usar um ciclo WHILE ou FOR depende da situação de implementação, e da forma como pensamos ser mais simples a sua compreensão.

Desde já o meu agradecimento ao meu tio, pela ideia da escrita.

Partilhar:
Tags:

Comentários

18

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de JonhyH
    JonhyH

    No link do ideone tira o plain, senao faz download em vez de apresentar na pagina.

    http://www.ideone.com/plain/4ZSdb2GG

    http://www.ideone.com/4ZSdb2GG

  2. Avatar de mrp0225

    Muito bom para começar. Espera que continuem, com mais periodicidade, a lançar estes mini tutoriais 🙂

    Cumprimentos!

  3. Avatar de asa
    asa

    Juntem os artigos antigos neste post (em baixo) assim seria de mais fácil leitura.

    Bom ano pplware!

  4. Avatar de Marinho
    Marinho

    php é a quinta feira?? mas hoje (dia 01-01-2010) é sexta!!!
    lol
    parece que o PHP veio de ferias..:)
    continuem com o bom trabalho….

  5. Avatar de Jose Simoes
    Jose Simoes

    A minha longa experiência em múltiplas linguagens sugere que é sempre didáctico explicitar, para cada tipo de ciclo.

    (a) se a condição é testada no início ou no fim do bloco (ou noutro local qualquer…nunca é, mas isso não se adivinha)

    (b) se é possível uma condição em que o bloco é executado zero vezes.

    Sem explicitar isso teremos programadores a fazer erros vezes sem conta. E teremos programadores com dificuldade em se adaptar a uma nova linguagem.

    Na explicação anterior a frase “enquanto a condição se verificar, executa determinado código” é dúbia, para não dizer errado, pois dá a impressão que se a condição se tornar verdadeira durante a execução do código o código deixará de ser executado, o que não é verdade.

    Também a frase “declaração de variáveis” é dúbia. Mais que declaradas, as variáveis podem ser INICIALIZADAS ou ser-lhe atribuido um valor.

    José Simões

    PS – não explico mais porque não programa em php à uns 6 ou 7 anos e já não estou certo de como são os ciclos em php.

  6. Avatar de zéé
    zéé

    Bom Tutorial! Claro e objectivo. Os ciclos while e for são praticamente iguais em C e PHP, algo que desconhecia 🙂
    Bom Ano Pplware!

    1. Avatar de Marinho
      Marinho

      e muita coisa igual.. for’es, while’s, if’s…

  7. Avatar de softclean
    softclean

    Penso que para o tutorial ficar completo, faltou o ciclo do..while, que executa o ciclo, pelo menos uma vez, independentemente da condição.

    Cumps.

  8. Avatar de TiagoKito

    Óptima rubrica que foi relançada =D

    Bom trabalho Luis e pplware 😉

    Abraço…e bom 2010 para todos!

  9. Avatar de Marisa Pinto
    Marisa Pinto

    Bom artigo Luís.
    [Ainda] Não percebo nada do que aí está, a nível de conteúdo, mas está bem fundamentado, e estruturado. Penso que para primeiro post está muito bom 🙂

    Quinta-Feira [nos outros dias também] cá estarem à espera de mais um PHP, eheh

    o/

  10. Avatar de Trak Trak Trugui
    Trak Trak Trugui

    Boa…
    eu tô querendo me adentrar mais nesse mundo do PHP.

    Abraços.

  11. Avatar de Márcio Santos
    Márcio Santos

    Luís, espero que continues a saga do php. Da próxima podias falar de arrays associativos. 😀

    Bom artigo

  12. Avatar de Bónus

    No ciclo for, deve-se declarar antes a variável, como foi feito no while, e não dentro do ciclo como é dito no artigo.
    Se não a declararmos antes, funciona na mesma, mas não é a forma correcta de programar.

    1. Avatar de Bónus

      Já agora, mostro aqui uma linha de código, que quando presente no início do nosso ficheiro PHP, mostra-nos qualquer erro que exista:

      ini_set(‘error_reporting’, E_ALL);

      Nota: Este comando deve ser usado só em fases de testes e nunca no servidor final.

    2. Avatar de Luis Leite

      Em 2 anos que me ensinaram php, sempre me ensinaram assim a programar.

      Obrigado pelos comentários e opiniões.

      Cumprimentos,
      Luis Leite

      1. Avatar de Bónus

        Tens razão. No ciclo for não é preciso declarar a variável antes. Peço desculpa pelo lapso.
        Estava a confundir com uma situação idêntica em que se incrementa uma variável (como contador) dentro de um while. Variável essa diferente da que pertence ao próprio while.
        Por exemplo: $i+=1;
        Funciona dentro de um while sem a ter declarado antes, mas é apresentado um erro no debug do PHP.

    3. Avatar de Ice
      Ice

      Bónus, estás enganado.

      declarar a variável $numero dentro do for() é a forma correcta.

      De nada vale declara-la fora do for(), pelo contrário só vai atrasar (ainda que de forma insignificante) o código.

      O que não deve ser colocado dentro do for() são outras funções, visto que se o fizermos, essa função é executada em todos os ciclos. É comum o pessoal usar count() dentro do for() o que é um erro tremendo.

      De qualquer maneira eu alteraria algumas coisas no código, também de forma a acelerar a execução do mesmo.

      Faria então da seguinte forma:

      <?php

      for($numero = 1; $numero

      1. Avatar de Ice
        Ice

        Ficou incompleto em cima….

        for($numero = 1; $numero <= 10; ++$numero) {

        echo "Número:" . $numero . "\n";

        }