Este rápido tutorial de como usar as estruturas de controle no PHP é indicado para aquelas pessoas que estão realmente bem no início dos estudos na linguagem. É, portanto, um exemplo bem superficial das funcionalidades que se pode obter ao usar as estruturas de controle no PHP.
Os blocos de código condicionais
Uma das ferramentas mais fundamentais de qualquer linguagem de programação é a verdadeira capacidade de controlar como o código é executado e em que condições, usando um bloco condicional. Um bloco condicional nada mais é em termos práticos algo como “se isso é assim, então faço isso, caso contrário, faço outra coisa”.
Por exemplo: “Se Jão tem 15 reais no bolso, compra um pirulito, caso contrário, chora”. Neste texto vamos discutir a estrutura básica e utilização de blocos condicionais em nossas aplicações e estabelecer formas que podemos utilizar esses blocos para comparar uma variável com outra.
Para este artigo, vamos dar uma olhada no código PHP a seguir:
<?php
$reais = 4;
$tem_chocolate = false;
if($reais == 5)
{
$tem_chocolate = true;
echo "Jorge tem uma barra de chocolate.<br />";
}
else
{
echo "Jorge não se pode dar ao luxo de comer chocolates.<br />";
echo "Jorge está chorando.<br />"; } echo "Jorge foi para casa.";
if($tem_chocolate)
{
echo "Jorge comeu sua barra de chocolate em casa.";
}
?>
O exemplo exposto acima é o nosso primeiro bloco condicional PHP e serve como introdução. Quando este código é executado, o que vai acontecer? Antes de podermos responder adequadamente a essa pergunta, primeiramente temos de aprender um pouco mais sobre a sintaxe.
A declaração if
A instrução if é a estrutura mais fundamental de controle disponível. Sua função é executar um bloco de código, se e somente se a declaração relacionada a ela for uma declaração verdadeira. A fim de determinar se uma declaração é verdadeira, alguns operadores de comparação e seu significado devem ser apresentados a você. Antes de iniciar, vamos dar uma olhada na declaração if de uma forma geral:
<?php
If(condições) {
// Código se a condição for verdadeira
} [ else ] {
// Código se a condição for falsa
}?>
Nota: A presença dos colchetes [] ao redor de else de forma geral, indica que não é necessário ser uma condição válida. Outra forma incompleta da instrução if seria:
<?php
If(condições) {
// Código se a condição for verdadeira
}?>
Agora que temos um melhor entendimento da forma geral de um if, podemos voltar e examinar o nosso exemplo. Os parênteses do primeiro if contem $reais == 5. Embora pareça como se estivéssemos tentando (incorretamente) atribuir o valor 5 à variável $reais, na realidade, estamos oferecendo uma condição de execução para o código contido com a declaração. Esta condição (que pode ser lido como $reais deve ser igual ao valor 5), vai determinar como o código dentro desse if é executado. Há muitos operadores de comparação diferentes que são a base para a construção de nossas condicionais, e eles estão listados abaixo:
| Operadores de comparação no PHP | |
$a == $b |
$a é igual a $b |
$a != $b |
$a não é igual a$b |
$a < $b |
$a é menor que $b |
$a > $b |
$a é maior que $b |
$a <= $b |
$a é menor ou igual a $b |
$a >= $b |
$a é maior ou igual a $b |
Olhando nosso exemplo anterior, somos capazes de determinar como o nosso código PHP vai se comportar. Primeiro, inicializada a variável $reais com um valor de 4 e variável $tem_chocolate com um valor booleano false. Depois, nós comparamos o valor de $reais para ver se era igual ao valor da constante 5. Como o valor de $reais (4) não foi igual a 5, $tem_chocolate permaneceu falso, e a saída para o navegador web foi:
Jorge não se pode dar ao luxo de comer chocolates.
Jorge está chorando.
Jorge foi para casa.
E se nós mudarmos as condições para o if? Por exemplo, se nós mudarmos a nossa condição de igual (==) para menor ou igual a (<=), $tem_chocolate seria então definida como true e nossa saída seria:
Jorge tem uma barra de chocolate.
Jorge foi para casa.
Jorge comeu sua barra de chocolate em casa.
Observe o comportamento do segundo if, que gera “Jorge comeu sua barra de chocolate em casa.” No primeiro exemplo, a variável $tem_chocolate era falsa e, uma vez que não houve declaração de outra pessoa para o segundo bloco condicional, ela foi simplesmente ignorada por completo. Outro comportamento interessante da segunda afirmação é a inexistência de qualquer indicação de que a variável $tem_chocolate está sendo comparada. Em casos como este, onde uma variável é fornecida como a única condição de um if, o valor da variável é usado para determinar o comportamento do subordinado. Portanto, desde que $tem_chocolate tinha um valor de verdade (referindo-se ao segundo exemplo), a condição é considerada verdadeira e, como esperado, no exemplo segundo o código foi executado.
Fazendo um looping básico
A capacidade de controlar como o código de um script é executado e em que condições é a parte fundamental de qualquer linguagem de programação de verdade, então a capacidade de executar o mesmo código várias vezes é muito, muito importante. Digamos que você gostaria de escrever um script que gera os números de 1 a 5 para o navegador web. Como você faria isso? Um exemplo seria:
<?php echo "1<br />"; echo "2<br />"; echo "3<br />"; echo "4<br />"; echo "5<br />"; ?>
Embora isso não pareça muito complicado, como considerar a saída números de 1 a 100, ou 1.000, ou até mesmo 1.000.000? Obviamente, escrever um script que contém echo de um milhão de declarações é, na melhor das hipóteses, impraticável. Além disso, há muitos exemplos mais complexos, onde o mesmo pedaço de código é executado várias vezes sendo impossível reproduzir de maneira tão eficiente como anteriormente. É com isso em mente que nós introduzimos o comando while.
A declaração while
O comando while é o mecanismo mais fundamental de looping disponível para um programador PHP. Embora fundamentalmente diferente, mantém muitas semelhanças na sintaxe de uma instrução if, com a única diferença real que um segmento de código dentro de um bloco, será executado enquanto a condição no bloco for verdadeira (ver figura 1). A sintaxe para um loop while é o seguinte:
While(condições) {
// Este código será executado até que as condições
// sejam avaliadas como não verdadeiras
}

Diagrama de loop com while no PHP
Olhando para o nosso exemplo anterior, uma maneira muito mais fácil e eficaz para produzir o mesmo resultado usando um loop while seria:
<?php
$count = 1;
while($count <= 5) {
echo $count."<br />";
$count++;
} ?>
Como esperado, a saída para ambos os exemplos é idêntica. Observe que simplesmente mudando alguns aspectos deste pequeno exemplo, você pode alterar o comportamento do circuito completamente. (Por exemplo, em vez de $count++ você pode usar $count += 2 e mostrar apenas os números ímpares).
Loops infinitos
O que teria acontecido se tivéssemos esquecido de incluir o incremento de contagem $count++ no corpo do nosso loop while? A variável $count nunca teria sido incrementada e, portanto, nunca teria atingido o valor de 5. Devido a isso, a condição$count <= 5 deverá sempre ser verdadeira para o programa nunca sair do loop while. Esta situação, chamada de loop infinito, é um erro comum de muitos programadores. Tenha cuidado ao usar while (ou qualquer tipo de loop) para garantir que o programa termine.
Nota: O PHP não irá permitir que um programa seja executado por mais de um período de tempo específico (determinado pelo administrador do sistema), sem configurações especiais. Geralmente, as configurações padrões dão a qualquer script tempo suficiente para concluir, sem interrupção prematura. No entanto, há momentos em que o tempo de execução de um script excede o tempo máximo padrão do processador. Nesses casos, consulte a documentação do PHP para obter instruções sobre como estender o tempo de execução no seus scripts PHP.
A seguir, uma versão mais especializada de um loop while, usando como métodos condições de multideclarações.
Notas sobre a incorporação de blocos de código
Quando escrevemos aplicações, é comum inserir condições, ou mesmo loops, loops dentro de outros ou condicionais. Por exemplo, a seguinte contagem de 1-5, deve mostrar “número mágico!” antes de exibir o número 3:
<?php
$count = 1;
while($count <= 5) {
if($count == 3) { echo "Número mágico!<br />"; }
echo $count."<br />"; $count++;
} ?>
Este recurso é uma parte importante da linguagem e é usado com bastante frequência, podendo ser usado em qualquer sintaxe, onde um bloco de código (distinguido pelos símbolos { e }).
Espero que este pequeno tutorial introdutório tenha utilidade para os iniciantes no PHP.
Me siga no Twitter para ficar por dentro das novidades do blog.
Outros Posts
Tags: bloco de codigo php, condição php, condicionais php, else php, if php, loop php, while php










