Scroll Top

Aprenda tudo que você precisa para criar o seu negócio na internet.  São 30 vídeos aulas totalmente gratuitas. Basta se cadastrar em um de nossos formulário.

Tutoriais

Estruturas de controle do PHP

estruturasQuando falamos em estruturas de controle, estamos falando em comandos utilizados normalmente por toda linguagem que possui um bloco estruturado, para o controle do fluxo de execução do sistema. Os sistemas de informação possuem a necessidade de tomar decisões a todo momento. Por isso, precisamos ter comandos que permitem controlar isso de forma automática, ou seja, quando o software for executado, ele considerará críticas que lhe permitirão “tomar decisões”.

Nesta postagem, dedicaremos ao estudo dessas estruturas e, com certeza, você encontrará estruturas parecidas ou até mesmo idênticas a essas em outras linguagens. O PHP, por exemplo, tem uma estrutura de controle idêntica a da linguagem C. Podemos dizer que quem programa ou programou em C, conhece parte do PHP. É natural que linguagens de programação tenham sido inspiradas em linguagens anteriores. Os sites podem ser programados em vária linguagens.

Veremos a seguir a estrutura if, que já utilizamos em nossos exemplos de postagens anteriores. Esse comando será muito utilizado, seja com PHP, C ou qualquer outra linguagem.

If (<condição>) { }


Este comando é composto por dois blocos, dos quais apenas 
um será executado em um determinado momento. Para que o primeiro seja interpretado pelo sistema, a condição colocada entre ( ) deve ter resultado verdadeiro. Caso contrário, será o segundo que receberá o fluxo do sistema. Existem também situações em que queremos fazer que um código seja executado perante uma condição e apenas isso. É uma função específica das estruturas de comando.

Não se esqueça de colocar os códigos de exemplos nesta postagem dentro do código HTML, caso contrário o navegador não irá interpretar o código e não rodará a página. Edite os códigos no Notepade+ + e salve os aquivos como index.php dentro da pasta apropriada do seu servidor WampServer.

Vamos ver um exemplo:

 

<?php
$Descontos = 315;  // valor maior do que o valor determinado no comando abaixo.
if ($Descontos > 0)
{
echo ‘Descontos deste mês…….: $ ‘.$Descontos; // mensagem informada pelo comando executado.
}
?>

Veja Figura depois de rodar estas estruturas no navegador:

 

Condição IF

 

O sistema só executará o comando echo quando o valor da variável desconto for maior que 0. Agora, ficou claro que este comando é muito útil para dar ao sistema uma espécie de “poder de decisão”. Na verdade, estamos programando o sistema para cada tipo de situação e então o software agirá conforme a necessidade de cada problema, situação ou estado do sistema naquele momento. Podemos dar ao fluxo mais uma opção utilizando a cláusula else. Nesse caso, o fluxo executará o bloco antes ou depois desta cláusula. Usando o  exemplo anterior, vamos incrementar o código com mais uma situação.

Veja exemplo:

 

<?php
$Descontos = 315; // valor menor do o valor determinado na comando abaixo.
if ($Descontos >400)
{
echo ‘Descontos deste mês…….: $ ‘.$Descontos;
}
else
{
echo ‘*** Não há descontos este mês ***’; // mensagem informada após a execução do comando.
}
?>

Veja figura do exemplo acima:

 

condição if e else


Para entender melhor o exemplo, troque o valor da variável 
$Desconto novamente para zero e teste novamente. O valor retornado será igual ao primeiro.

 A cláusula elseif nos permite ter várias expressões dentro do mesmo comando if. Isso permite escolher entre várias situações e, caso nenhuma retorne verdadeiro, o fluxo irá para a cláusula else, se esta for utilizada.

Veja:

<?php
$Salario = 1550; // valor informado pelo usuário.
if ($Salario < 1250)
{
echo ‘Remuneração isenta de imposto!’;
}
ElseIf ($Salario >= 1250 and $Salario < 1800)
{
echo ‘Retenção de 5% para imposto mensal’; // mensagem informada após execução o comando.
}
ElseIf ($Salario >= 1800 and $Salario < 2200)
{
echo ‘Retenção de 7% para imposto mensal’;
}
else
{
echo ‘Retenção de 9% para imposto mensal’;
}
?>

Veja Figura depois de rodar o código acima em um navegador:

 

condição elseif

 

 

Podemos observar que a cláusula elseif pode ser utilizada várias vezes, permitindo calcular várias faixas para um determinado valor de salário. Aqui, utilizamos a variável $Salario, mas este valor pode vir de um banco de dados que será alimentado por usuários do sistema, em um momento totalmente distinto a sua programação. Por isso, as estruturas tona os sistemas  bastante flexíveis aos dados e devem tratá-los de acordo com as normas e legislações vigentes. Podemos verificar isso no exemplo anterior, no qual para cada faixa salarial é aplicado um imposto que, em um software oficial, deve estar de acordo com as normas legais.

Switch (<condição>) { }


Este comando permite que várias comparações sejam 
feitas e, no final, apenas uma seja escolhida para executar um código específico da condição selecionada. Ele funciona igualmente a vários ifs, mas agora ele testa os valores de uma mesma variável.

Vejamos um exemplo:

 

<?php
$valor = 2;
Switch($valor)
{
case 0: echo ‘O valor da variável e 0<BR>’;
case 1: echo ‘O valor da variável e 1<BR>’;
case 2: echo ‘O valor da variável e 2<BR>’;
case 3: echo ‘O valor da variável e 3<BR>’;
case 4: echo ‘O valor da variável e 4<BR>’;
}
?>

Veja Figura:

 

condição swing

No exemplo anterior, o comando switch testará linha a linha, em busca de um case que corresponda ao valor da variável. Quando encontrar o valor correspondente, executará os comandos que virão logo após este case. Esses comandos, estarão entre {}, executará todos os que estiverem também após o comando encontrado. Como Figura acima. 

As estruturas de controle devem seguir uma linha de raciocínio do algorítimo que ajuda a tomar as decisões antes de aplicá-las.

Quando precisamos executar apenas o case que corresponde ao valor da variável, utilizaremos um comando que tem a característica de parar o fluxo de execução, que é o comando break. Caso esse não seja utilizado, todos os cases após o case que corresponda ao valor da variável de referência serão executados.

Utilizando o exemplo anterior, veremos como ficaria o código com o uso do comando break:

<?php
$valor = 2;
Switch($valor)
{
case 0: echo ‘O valor da variável e 0<BR>’;break;
case 1: echo ‘O valor da variável e 1<BR>’;break;
case 2: echo ‘O valor da variável e 2<BR>’;break;
case 3: echo ‘O valor da variável e 3<BR>’;break;
case 4: echo ‘O valor da variável e 4<BR>’;break;
}
?>


No exemplo anterior, apenas os comandos que corresponda 
ao case que tem o mesmo valor da variável serão executados. Teste os exemplos anteriores, veja a diferença entre eles e descobrirá que o exemplo que possui o break é, neste caso, o correto.

Veja Figura:

comando break

 

While (<condição>) { }


Encontrar uma situação na qual seja necessário executar um 
mesmo código várias vezes não é muito difícil em programação. Para isso, temos o comando while. Ele permite que um código seja aproveitado e repetido várias vezes até que uma condição seja satisfeita. Essa repetição é chamada de loop. Um loop pode ser executado infinitas vezes até que seja interrompido, ou pela mudança de um valor que faz parte de uma condição de teste ou até mesmo pelo comando break, que foi visto anteriormente.

O nosso exemplo de loop pode ser verificado a seguir.

 

<?php
While (True)
{
echo ‘Este é um loop infinito<BR>’;
echo ‘Se não fosse utilizado o comando break,
seria executado infinitamente’;
break;
}
?>

 

Rode o código no seu navegador e encontrará o seguinte resultado:

 

comando loop

 


No exemplo anterior, o comando break é o responsável pela 
parada do loop. Se ele não fosse utilizado, a página PHP nem mesmo seria mostrada; não seria possível mostrar uma página de “montagem infinita”. O sistema travaria. Quando temos uma condição para a repetição, podemos utilizar uma estrutura na qual o break não será mais necessário.

A seguir, veremos como normalmente utilizamos este comando.

<?php
$Valor=1;
While ($Valor<=10)
{
echo ‘Neste momento, o valor é: ‘.$Valor.'<BR>’;
$Valor++;
}
?>

Veja a Figura após rodar o código no navegador:

 

while e loop

 

Quando executar este bloco de código, verá que será escrita na tela várias linhas, onde apenas o valor da variável é mudado a cada ciclo. Isso porque, a cada ciclo do comando while, incrementamos o valor da variável em 1 pelo comando $Valor++O sistema executou o que está dentro do bloco entre {}como o valor da variável foi mudado em cada momento de repetição, quando atingiu um valor maior que 10, a nossa condição para execução retornou False. Então, o loop foi interrompido e o fluxo passou para a próxima linha após o bloco {}É essa a função do comando while, permitir que um mesmo código seja executado várias vezes e que possamos pará-lo pelo resultado de uma condição que será mudado a cada ciclo ou pela utilização do comando break.

 

 

Do { } While (<condição>)


Semelhantemente ao comando anterior, temos o do while
que se diferencia apenas pelo fato de executar o bloco pelo menos uma vez. Como podemos observar, o teste é feito no final, permitindo que o fluxo seja repetido apenas se a condição for verdadeira, mas tudo isso após a primeira execução dos comandos entre o bloco.

Veja como funciona:

<?
$Cabecalho = True;
$Valor=1;
Do
{
if ($Cabecalho)
{
$Cabecalho=False;
echo ‘Código Filme<BR><BR>’;
}
echo $Valor.’ ’;
echo ‘Sinopse do filme ’.$Valor.’<BR>’;

$Valor++;
}
While ($Valor<=5)
?>

Veja figura do código acima:

 

do while

Neste exemplo, criamos uma variável com o nome $Cabecalhocom seu valor igual a True. Isso fará o if ser executado, pois no lugar da expressão do comando if, colocamos o valor desta variável, que é True, ou seja, verdadeiro. Ao executar o código que consta dentro do comando if, o valor da variável $Cabecalho será trocado para False. Com isso, na próxima execução do loop, o cabeçalho não será mais impresso. Como o valor da variável $Valor é 5, o loop executará cinco vezes. Mas se você trocar o valor inicial desta variável para um valor maior que cinco, pelo menos o cabeçalho e um comando echo será executado. Isto ocorre porque o bloco de código do comando do while vem antes do teste para repetição. Com esta função, podemos utilizar o while sempre que for necessário executar um código pelo menos uma vez.

For(<início>;<condição>;<incremento>) { }


Ainda com nosso estudo de repetições de código, podemo 
caracterizar este comando que vamos estudar agora como sendo uma estrutura de repetição finita. Anteriormente, para finalizar nosso loop, foi utilizado uma expressão lógica para que o fluxo fosse interrompido. Utilizamos também o comando break.  Agora, nosso loop já tem valores de repetição definidos e até mesmo o valor de incremento será previamente estipulado. Para entender melhor e de forma prática, vejamos este exemplo. Faremos a mesma coisa que o anterior, só que agora utilizando o comando for.

<?php
$Cabecalho = True;
For($Valor=1;$Valor<=5;1)
{
if ($Cabecalho)
{
$Cabecalho=False;
echo ‘Código Filme<BR><BR>’;
}
echo $Valor.’ ‘;
echo ‘Sinopse do filme ‘.$Valor.'<BR>’;
$Valor++;
}
?>

 

Veja figura abaixo:

 

for

 

<<< Voltar —

Está Gostando do Artigo?

Se inscreva em nossa lista e receba 30 vídeos aulas grátis, ensinando como criar o seu negócio na internet a partir do zero.

| Website

Sou blogueiro por que gosto de ler e escrever. Criei este blog para te ajudar a criar o seu negócio na internet e ter um novo estilo de vida.

Por gentileza, se deseja alterar o arquivo do rodapé,
entre em contato com o suporte.
error: Este conteúdo está protegido ! Se precisar de alguma coisa envie mensagem pelo formulário de contato.