SlideShare ist ein Scribd-Unternehmen logo
1 von 14
CEETEPS – CENTRO ESTADUAL DE EDUCAÇÃO
TECNOLÓGICA “PAULA SOUZA”
ETEC FERNANDO PRESTES
TÉCNICO EM INFOMÁTICA

COMANDOS DE FLUXO DO PHP

Sorocaba – SP
2013
Wesley Germano Otávio nº27

COMANDOS DE FLUXO DO PHP

Pesquisa referente a Comandos de Fluxo do
PHP da disciplina Técnicas de Programação
Para Internet
Professor (a): Valdinéia

Sorocaba-SP
2013
Sumário

1. Comandos de controle de fluxo do PHP ............................................................... 4
1.1.

IF .................................................................................................................... 4

1.2.

SWITCH ......................................................................................................... 6

1.3.

WHILE ............................................................................................................ 8

1.4.

FOR................................................................................................................ 9

1.5.

FOREACH.................................................................................................... 10

1.6.

Break ............................................................................................................ 12

1.7.

Continue ....................................................................................................... 12

2. Bibliografia .......................................................................................................... 14
1. Comandos de controle de fluxo do PHP

São estruturas utilizadas para modificar estrategicamente o funcionamento
da aplicação em certo ponto, fazendo com que decisões sejam tomadas e a partir
delas um trecho de código seja executado.

Essas estruturas estão divididas em dois grupos: condicionais e de
repetição. As estruturas condicionais são utilizadas para avaliar certa condição e de
acordo com o resultado, executar uma rotina específica. As de repetição, por sua
vez, funcionam executando um trecho de código repetidas vezes com base no
resultado da avaliação de uma condição preestabelecida.

1.1.

IF
O operador IF é utilizado para avaliar o valor de uma condição booleana, ou

seja, que pode assumir apenas dois valores distintos: VERDADEIRO (true) ou
FALSO (false). IF significa SE em português e a estrutura funciona da seguinte
forma: SE (condição) ENTÃO (faça algo). Entretanto, o ENTÃO não é utilizado no
PHP, bastando apenas usar o IF
Sintaxe básica de uso do IF
If (condição)
{
//código
}
As chaves são utilizadas para delimitar um bloco de código, caso fosse
necessário executar apenas uma linha, as chaves poderiam ser removidas. Porém,
é mais seguro utilizá-las, pois nunca se sabe quando será preciso inserir mais uma
linha no código.

O IF pode ser complementado com o operador ELSE, que significa SENÃO.
Ou seja, SE uma condição for atendida, fazer uma coisa. SENÃO, fazer outra. O
ELSE só precisa ser utilizado quando houver algo específico a ser feito se a
condição não for atendida.

Sintaxe de uso do IF-ELSE

if(condição)
{
//código 1
}
else
{
//código 2
}

Caso existam várias condições específicas a serem validadas, podem ser
inseridos outros IFs após o else.

Sintaxe de uso do IF-ELSE IF

if(condição1)
{
//código 1
}
else if(condição2)
{
//código 2
}
else
{
//código 3
}
No código acima, se a condição 1 não fosse atendida, a segunda seria
avaliada. Se nenhuma das duas primeiras fosse válida, o código do bloco ELSE
seria executado.

O exemplo a seguir mostra um exemplo de uso operador IF completo na
prática.
Exemplo de uso do IF

if($hora <= 12)
echo “Está de manhã”;
elseif($hora > 12 && $hora <= 18)
echo “Está de tarde”;
else
echo “Está de noite”;

No exemplo acima são feitas algumas avaliações do valor da variável $hora
que teoricamente armazena a hora atual. Dependendo do seu valor, uma mensagem
específica seja exibida.

1.2.

SWITCH
A grosso modo, pode-se dizer que o SWITCH funciona como a união de

vários IF, porém, de forma mais compacta e organizada. Imagine, por exemplo, uma
situação em que precise ser lida um valor inserido pelo usuário. Esse valor, por sua
vez, pode assumir cinco valores. Seria necessário escrever cinco IFs seguidos, para
avaliar todas as possibilidades. Vejamos como ficaria isso na prática.

Verificação de várias possibilidades com IF

if($opcao == 1)
//código 1
elseif($opcao == 2)
//código 2
elseif($opcao == 3)
//código 3
elseif($opcao == 4)
//código 4
elseif($opcao == 5)
//código 5
else
//nenhuma das opções

Esse código poderia ser bastante reduzido utilizando o operador SWITCH,
que avalia uma expressão com base em vários valores predeterminados. Se a
expressão não possuir nenhum dos valores válidos, um valor padrão pode ser
definido. Abaixo temos a sintaxe básica dessa estrutura.

Sintaxe básica do SWITCH

switch(expressão)
{
case valor1:
//código 1
break;
case valor2:
//código 2
break;
default:
//código padrão
break;
}

Como se vê, em um único bloco são avaliadas varas possibilidades. O
comando break é necessário ao final de cada bloco de código (que não precisa ser
cercado por chaves) para que as demais opções sejam descartadas, caso uma seja
atendida.

O exemplo acima poderia então ser reescrito da seguinte forma:
Verificação de várias possibilidades com SWITCH

switch($opcao)
{
case 1:
//código 1
break;
case 2:
//código 2
break;
case 3:
//código 3
break;
case 4:
//código 4
break;
case 5:
//código 5
break;
default:
//nenhuma das opções
break;
}

1.3.

WHILE

O WHILE já se enquadra nas estruturas de repetição. Esse operador é
utilizado para executar um bloco de código várias vezes, enquanto uma determinada
condição for atendida. Traduzindo, esta estrutura funciona da seguinte forma:
ENQUANTO (condição for atendida) FAÇA ALGO. Onde FAÇA ALGO pode ser um
ou vários comandos PHP.
A sintaxe básica de uso dessa estrutura é apresentada abaixo.

Sintaxe básica do WHILE

while(condição)
{
//comandos
}

Nesse caso, a condição avaliada também deve ser booleana, podendo
assumir os valores true ou false

Exemplo Prático de uso do WHILE

var $contador = 0;
while($contador < 10)
{
echo $contador;
$contador++;
}
Nesse exemplo, temos uma variável “contador” cujo valor é avaliado e,
enquanto for menor que dez, um código é executado, imprimindo este valor e o
incrementando em uma unidade.

Após a execução do bloco de comandos, o valor da expressão é novamente
avaliado e, se for válido, os códigos são novamente executados.

1.4.

FOR
A estrutura de repetição FOR é utilizada para se executar um conjunto de
comandos por um número definido de vezes. Para esse operador, são passados
uma situação inicial, uma condição e uma ação a ser executada a cada repetição.
Em geral informamos uma variável que serve como contador de repetições,
com seu valor inicial, uma condição a ser atendida para que cada repetição seja
executada e um incremento ao contador.

Observando a sintaxe a seguir fica mais fácil compreender o funcionamento.

Sintaxe do operador FOR

for(valor inicial; condição; incremento)
{
//comandos
}

Exemplo Prático de uso do FOR

for($contador = 0; $contador < 10; $contador++)
{
//comandos
}
O código acima pode ser entendido como “com o contador partindo do zero
e enquanto este for menor que 10, execute os comandos e incremente uma unidade
em seu valor”.

1.5.

FOREACH
O FOREACH é uma simplificação do operador FOR para se trabalhar em

coleções de dados, ou seja, vetores e matrizes. Ele permite acessar cada elemento
individualmente iterando sobre toda a coleção e sem a necessidade de informação
de índices.
Por exemplo, supondo que fosse preciso percorrer um vetor com alguns
elementos com o FOR. Seria necessário utilizar um contador para servir também de
índice para acessar cada elemento, conforme exemplo a seguir.
Iteração em vetor com FOR

$vetor = array(1, 2, 3, 4, 5);
for($i = 0; $i < 5; $i++)
{
$item = $vetor[$i];
echo $item;
}

Esse código poderia ser simplificado com a utilização do operador
FOREACH, cuja sintaxe é mostrada abaixo.

Sintaxe do operador FOREACH
Foreach(vetor as variável)

{
//variável representa um elemento do vetor a cada iteração
}

Exemplo de uso do FOREACH

$vetor = array(1, 2, 3, 4, 5);
foreach($vetor as $item)
{
echo $item;
}

Assim, a cada iteração (repetição) a variável $item representa um elemento
do vetor.
1.6.

Break
A função de break é forçar a saída de uma estrutura. Por exemplo, se

tivermos uma estrutura de repetição for que vai até um determinado número, mas
que deve parar antes caso alguma condição seja satisfeita, neste caso usamos o
break. Veja o exemplo abaixo:

<?php
for ($i=2; $i <= 100; $i+=2){ //números pares de 2 a 100
echo ($i . " ");
if ($i%10 == 0) //se i for divisível por 10
break;

//saia do loop

}
?>

Resultado: 2 4 6 8 10

O código acima mostra exatamente a funcionalidade do comando break.

Nós definimos a estrutura for para que mostrasse os números pares de 2 a
100, mas apenas serão apresentados os pares de 0 a 10. Isso acontece porque há
uma condição dentro da estrutura que diz que se a variável i for divisível por 10,
então, executa o comando break.

No momento que break é executado, não estamos mais dentro do loop.

1.7.

Continue
O comando continue funciona de forma parecida com o comando break, mas

ao invés de sair completamente da estrutura, ele apenas ignora o resto do código.
Vejamos:
<?php
for ($i=0; $i <= 10; $i++){
if ($i%2 == 0) //se i for par (divisível por 2)
continue; //ignora o resto do for e vai para o próximo número
echo ($i . " ");
}
?>

O que resulta em: 1 3 5 7 9

Ou seja, toda vez que i for divisível por 2, então, ignorar o resto do código
(echo ($i . " ");) como se já tivesse chegado na chave final do for.
2. Bibliografia
Break

e

continue

–

TI

Expert.

NET

Disponível

em:

<http://www.tiexpert.net/programacao/web/php/break-continue.php>.
Acesso em: 09/10/2013.

Estruturas de Repetição e Controle em PHP– #Dot Sharp. Disponível
em:

<http://www.dotsharp.com.br/programacao/php/estruturas-de-

repeticao-e-controle-em-php.html>. Acesso em: 09/10/2013.

do-while–

Manual

PHP.

Disponível

em:

<http://php.net/manual/pt_BR/control-structures.do.while.php>.
Acesso em: 09/10/2013.

Estruturas

de

controle

no

PHP–Dev

Media.

Disponível

em:

<http://www.devmedia.com.br/estruturas-de-controle-no-php/25730>.
Acesso em: 09/10/2013.

Estruturas de controle de fluxo do PHP– Linha de Código. Disponível
em:

<http://www.linhadecodigo.com.br/artigo/3544/estruturas-de-

controle-de-fluxo-do-php.aspx>. Acesso em: 09/10/2013.

Weitere ähnliche Inhalte

Was ist angesagt?

DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++thiagodp
 
TDD em C++
TDD em C++TDD em C++
TDD em C++thiagodp
 
Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Leandro Rezende
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2michellobo
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii CarlaCarla Silva
 
Programacao funcional dojo
Programacao funcional dojoProgramacao funcional dojo
Programacao funcional dojoFrancieli Viane
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao phpTiago Davi
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-phpdiogoa21
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funçõesFellyph Cintra
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem Capolllorj
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturadadiogoa21
 

Was ist angesagt? (20)

DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02Algoritmos C/C++ - Aula 02
Algoritmos C/C++ - Aula 02
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii Carla
 
Programacao funcional dojo
Programacao funcional dojoProgramacao funcional dojo
Programacao funcional dojo
 
Ling c
Ling cLing c
Ling c
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao php
 
Aula3
Aula3Aula3
Aula3
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
 
Manual-de-php
Manual-de-phpManual-de-php
Manual-de-php
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções
 
Aula de C e C++
Aula de C e C++Aula de C e C++
Aula de C e C++
 
Aula6 - Linguagem C
Aula6 - Linguagem CAula6 - Linguagem C
Aula6 - Linguagem C
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
mod3-programação-estruturada
mod3-programação-estruturadamod3-programação-estruturada
mod3-programação-estruturada
 
Java4
Java4Java4
Java4
 
JAVA - Controle de programa
JAVA - Controle de programaJAVA - Controle de programa
JAVA - Controle de programa
 

Ähnlich wie Comandos de fluxo do PHP

Introdução ao php - Condicionais e Laços de repetição
Introdução ao php - Condicionais e Laços de repetiçãoIntrodução ao php - Condicionais e Laços de repetição
Introdução ao php - Condicionais e Laços de repetiçãogbpf
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERLTiago R. Sampaio
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAntonioSvio1
 
6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxoEugenio Caetano
 
Oficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScriptOficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScriptRaphael Donaire Albino
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.SchoolByte
 
Conjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvioConjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvioElaine Cecília Gatto
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoMarcelo Rodrigues
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVACristiano Almeida
 

Ähnlich wie Comandos de fluxo do PHP (20)

Introdução ao php - Condicionais e Laços de repetição
Introdução ao php - Condicionais e Laços de repetiçãoIntrodução ao php - Condicionais e Laços de repetição
Introdução ao php - Condicionais e Laços de repetição
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
 
02 controle de fluxo
02   controle de fluxo02   controle de fluxo
02 controle de fluxo
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
 
Shell script
Shell script Shell script
Shell script
 
Introdução a php
Introdução a phpIntrodução a php
Introdução a php
 
Shell scripts
Shell scriptsShell scripts
Shell scripts
 
Curso java script
Curso java scriptCurso java script
Curso java script
 
2832014 curso plsql
2832014 curso plsql2832014 curso plsql
2832014 curso plsql
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo6. estruturas de controlo de fluxo
6. estruturas de controlo de fluxo
 
Oficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScriptOficina de Web Design Lecom - PHP e JavaScript
Oficina de Web Design Lecom - PHP e JavaScript
 
Aula1
Aula1Aula1
Aula1
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.
 
Conjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvioConjunto de instruções mips - instruções de desvio
Conjunto de instruções mips - instruções de desvio
 
Introducao a Lógica de Programação
Introducao a Lógica de ProgramaçãoIntroducao a Lógica de Programação
Introducao a Lógica de Programação
 
Aula12- PHP
Aula12- PHPAula12- PHP
Aula12- PHP
 
Aula 3 AEDI.pdf
Aula 3 AEDI.pdfAula 3 AEDI.pdf
Aula 3 AEDI.pdf
 
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVAProgramação Orientada a Objetos - Conceitos básicos da linguagem JAVA
Programação Orientada a Objetos - Conceitos básicos da linguagem JAVA
 
Algoritmos Aula 11
Algoritmos Aula 11Algoritmos Aula 11
Algoritmos Aula 11
 

Mehr von Wesley Germano Otávio

Zoologia de vertebrados (cordados) - professor wesley
Zoologia de vertebrados (cordados) - professor wesleyZoologia de vertebrados (cordados) - professor wesley
Zoologia de vertebrados (cordados) - professor wesleyWesley Germano Otávio
 
Caracteristicas básicas dos seres vivos
Caracteristicas básicas dos seres vivosCaracteristicas básicas dos seres vivos
Caracteristicas básicas dos seres vivosWesley Germano Otávio
 
Cosmologia - Sistema Solar - Corpos Celestes
Cosmologia - Sistema Solar - Corpos CelestesCosmologia - Sistema Solar - Corpos Celestes
Cosmologia - Sistema Solar - Corpos CelestesWesley Germano Otávio
 
Cosmologia sistema solar - os planetas
Cosmologia   sistema solar - os planetasCosmologia   sistema solar - os planetas
Cosmologia sistema solar - os planetasWesley Germano Otávio
 
Cosmologia - Sistema Solar - Origem do sol e suas características
Cosmologia - Sistema Solar - Origem do sol e suas característicasCosmologia - Sistema Solar - Origem do sol e suas características
Cosmologia - Sistema Solar - Origem do sol e suas característicasWesley Germano Otávio
 
Raios uso de tecnologia evita mortes e prejuízos
Raios   uso de tecnologia evita mortes e prejuízosRaios   uso de tecnologia evita mortes e prejuízos
Raios uso de tecnologia evita mortes e prejuízosWesley Germano Otávio
 

Mehr von Wesley Germano Otávio (20)

Zoologia de vertebrados (cordados) - professor wesley
Zoologia de vertebrados (cordados) - professor wesleyZoologia de vertebrados (cordados) - professor wesley
Zoologia de vertebrados (cordados) - professor wesley
 
Revisão Zoologia - Professor Wesley
Revisão Zoologia - Professor WesleyRevisão Zoologia - Professor Wesley
Revisão Zoologia - Professor Wesley
 
Ascaridíase
AscaridíaseAscaridíase
Ascaridíase
 
Citologia
CitologiaCitologia
Citologia
 
Caracteristicas básicas dos seres vivos
Caracteristicas básicas dos seres vivosCaracteristicas básicas dos seres vivos
Caracteristicas básicas dos seres vivos
 
Cosmologia - Sistema Solar - Corpos Celestes
Cosmologia - Sistema Solar - Corpos CelestesCosmologia - Sistema Solar - Corpos Celestes
Cosmologia - Sistema Solar - Corpos Celestes
 
Cosmologia sistema solar - os planetas
Cosmologia   sistema solar - os planetasCosmologia   sistema solar - os planetas
Cosmologia sistema solar - os planetas
 
Cosmologia - Sistema Solar - Origem do sol e suas características
Cosmologia - Sistema Solar - Origem do sol e suas característicasCosmologia - Sistema Solar - Origem do sol e suas características
Cosmologia - Sistema Solar - Origem do sol e suas características
 
Cosmologia - o Universo
Cosmologia - o UniversoCosmologia - o Universo
Cosmologia - o Universo
 
Origem da vida
Origem da vidaOrigem da vida
Origem da vida
 
Método científico
Método científicoMétodo científico
Método científico
 
O que é biologia?
O que é biologia?O que é biologia?
O que é biologia?
 
Criminalização da sobrevivência
Criminalização da sobrevivênciaCriminalização da sobrevivência
Criminalização da sobrevivência
 
Energia solar
Energia solarEnergia solar
Energia solar
 
Musica popular brasileira - MPB
Musica popular brasileira - MPBMusica popular brasileira - MPB
Musica popular brasileira - MPB
 
Mario quintana
Mario quintanaMario quintana
Mario quintana
 
Risco de acidentes
Risco de acidentesRisco de acidentes
Risco de acidentes
 
Clonagem
ClonagemClonagem
Clonagem
 
Raios uso de tecnologia evita mortes e prejuízos
Raios   uso de tecnologia evita mortes e prejuízosRaios   uso de tecnologia evita mortes e prejuízos
Raios uso de tecnologia evita mortes e prejuízos
 
Jogo x Esporte
Jogo x EsporteJogo x Esporte
Jogo x Esporte
 

Comandos de fluxo do PHP

  • 1. CEETEPS – CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA “PAULA SOUZA” ETEC FERNANDO PRESTES TÉCNICO EM INFOMÁTICA COMANDOS DE FLUXO DO PHP Sorocaba – SP 2013
  • 2. Wesley Germano Otávio nº27 COMANDOS DE FLUXO DO PHP Pesquisa referente a Comandos de Fluxo do PHP da disciplina Técnicas de Programação Para Internet Professor (a): Valdinéia Sorocaba-SP 2013
  • 3. Sumário 1. Comandos de controle de fluxo do PHP ............................................................... 4 1.1. IF .................................................................................................................... 4 1.2. SWITCH ......................................................................................................... 6 1.3. WHILE ............................................................................................................ 8 1.4. FOR................................................................................................................ 9 1.5. FOREACH.................................................................................................... 10 1.6. Break ............................................................................................................ 12 1.7. Continue ....................................................................................................... 12 2. Bibliografia .......................................................................................................... 14
  • 4. 1. Comandos de controle de fluxo do PHP São estruturas utilizadas para modificar estrategicamente o funcionamento da aplicação em certo ponto, fazendo com que decisões sejam tomadas e a partir delas um trecho de código seja executado. Essas estruturas estão divididas em dois grupos: condicionais e de repetição. As estruturas condicionais são utilizadas para avaliar certa condição e de acordo com o resultado, executar uma rotina específica. As de repetição, por sua vez, funcionam executando um trecho de código repetidas vezes com base no resultado da avaliação de uma condição preestabelecida. 1.1. IF O operador IF é utilizado para avaliar o valor de uma condição booleana, ou seja, que pode assumir apenas dois valores distintos: VERDADEIRO (true) ou FALSO (false). IF significa SE em português e a estrutura funciona da seguinte forma: SE (condição) ENTÃO (faça algo). Entretanto, o ENTÃO não é utilizado no PHP, bastando apenas usar o IF Sintaxe básica de uso do IF If (condição) { //código } As chaves são utilizadas para delimitar um bloco de código, caso fosse necessário executar apenas uma linha, as chaves poderiam ser removidas. Porém, é mais seguro utilizá-las, pois nunca se sabe quando será preciso inserir mais uma linha no código. O IF pode ser complementado com o operador ELSE, que significa SENÃO. Ou seja, SE uma condição for atendida, fazer uma coisa. SENÃO, fazer outra. O
  • 5. ELSE só precisa ser utilizado quando houver algo específico a ser feito se a condição não for atendida. Sintaxe de uso do IF-ELSE if(condição) { //código 1 } else { //código 2 } Caso existam várias condições específicas a serem validadas, podem ser inseridos outros IFs após o else. Sintaxe de uso do IF-ELSE IF if(condição1) { //código 1 } else if(condição2) { //código 2 } else { //código 3 }
  • 6. No código acima, se a condição 1 não fosse atendida, a segunda seria avaliada. Se nenhuma das duas primeiras fosse válida, o código do bloco ELSE seria executado. O exemplo a seguir mostra um exemplo de uso operador IF completo na prática. Exemplo de uso do IF if($hora <= 12) echo “Está de manhã”; elseif($hora > 12 && $hora <= 18) echo “Está de tarde”; else echo “Está de noite”; No exemplo acima são feitas algumas avaliações do valor da variável $hora que teoricamente armazena a hora atual. Dependendo do seu valor, uma mensagem específica seja exibida. 1.2. SWITCH A grosso modo, pode-se dizer que o SWITCH funciona como a união de vários IF, porém, de forma mais compacta e organizada. Imagine, por exemplo, uma situação em que precise ser lida um valor inserido pelo usuário. Esse valor, por sua vez, pode assumir cinco valores. Seria necessário escrever cinco IFs seguidos, para avaliar todas as possibilidades. Vejamos como ficaria isso na prática. Verificação de várias possibilidades com IF if($opcao == 1) //código 1 elseif($opcao == 2) //código 2 elseif($opcao == 3) //código 3
  • 7. elseif($opcao == 4) //código 4 elseif($opcao == 5) //código 5 else //nenhuma das opções Esse código poderia ser bastante reduzido utilizando o operador SWITCH, que avalia uma expressão com base em vários valores predeterminados. Se a expressão não possuir nenhum dos valores válidos, um valor padrão pode ser definido. Abaixo temos a sintaxe básica dessa estrutura. Sintaxe básica do SWITCH switch(expressão) { case valor1: //código 1 break; case valor2: //código 2 break; default: //código padrão break; } Como se vê, em um único bloco são avaliadas varas possibilidades. O comando break é necessário ao final de cada bloco de código (que não precisa ser cercado por chaves) para que as demais opções sejam descartadas, caso uma seja atendida. O exemplo acima poderia então ser reescrito da seguinte forma:
  • 8. Verificação de várias possibilidades com SWITCH switch($opcao) { case 1: //código 1 break; case 2: //código 2 break; case 3: //código 3 break; case 4: //código 4 break; case 5: //código 5 break; default: //nenhuma das opções break; } 1.3. WHILE O WHILE já se enquadra nas estruturas de repetição. Esse operador é utilizado para executar um bloco de código várias vezes, enquanto uma determinada condição for atendida. Traduzindo, esta estrutura funciona da seguinte forma: ENQUANTO (condição for atendida) FAÇA ALGO. Onde FAÇA ALGO pode ser um ou vários comandos PHP.
  • 9. A sintaxe básica de uso dessa estrutura é apresentada abaixo. Sintaxe básica do WHILE while(condição) { //comandos } Nesse caso, a condição avaliada também deve ser booleana, podendo assumir os valores true ou false Exemplo Prático de uso do WHILE var $contador = 0; while($contador < 10) { echo $contador; $contador++; } Nesse exemplo, temos uma variável “contador” cujo valor é avaliado e, enquanto for menor que dez, um código é executado, imprimindo este valor e o incrementando em uma unidade. Após a execução do bloco de comandos, o valor da expressão é novamente avaliado e, se for válido, os códigos são novamente executados. 1.4. FOR
  • 10. A estrutura de repetição FOR é utilizada para se executar um conjunto de comandos por um número definido de vezes. Para esse operador, são passados uma situação inicial, uma condição e uma ação a ser executada a cada repetição. Em geral informamos uma variável que serve como contador de repetições, com seu valor inicial, uma condição a ser atendida para que cada repetição seja executada e um incremento ao contador. Observando a sintaxe a seguir fica mais fácil compreender o funcionamento. Sintaxe do operador FOR for(valor inicial; condição; incremento) { //comandos } Exemplo Prático de uso do FOR for($contador = 0; $contador < 10; $contador++) { //comandos } O código acima pode ser entendido como “com o contador partindo do zero e enquanto este for menor que 10, execute os comandos e incremente uma unidade em seu valor”. 1.5. FOREACH O FOREACH é uma simplificação do operador FOR para se trabalhar em coleções de dados, ou seja, vetores e matrizes. Ele permite acessar cada elemento individualmente iterando sobre toda a coleção e sem a necessidade de informação de índices.
  • 11. Por exemplo, supondo que fosse preciso percorrer um vetor com alguns elementos com o FOR. Seria necessário utilizar um contador para servir também de índice para acessar cada elemento, conforme exemplo a seguir. Iteração em vetor com FOR $vetor = array(1, 2, 3, 4, 5); for($i = 0; $i < 5; $i++) { $item = $vetor[$i]; echo $item; } Esse código poderia ser simplificado com a utilização do operador FOREACH, cuja sintaxe é mostrada abaixo. Sintaxe do operador FOREACH Foreach(vetor as variável) { //variável representa um elemento do vetor a cada iteração } Exemplo de uso do FOREACH $vetor = array(1, 2, 3, 4, 5); foreach($vetor as $item) { echo $item; } Assim, a cada iteração (repetição) a variável $item representa um elemento do vetor.
  • 12. 1.6. Break A função de break é forçar a saída de uma estrutura. Por exemplo, se tivermos uma estrutura de repetição for que vai até um determinado número, mas que deve parar antes caso alguma condição seja satisfeita, neste caso usamos o break. Veja o exemplo abaixo: <?php for ($i=2; $i <= 100; $i+=2){ //números pares de 2 a 100 echo ($i . " "); if ($i%10 == 0) //se i for divisível por 10 break; //saia do loop } ?> Resultado: 2 4 6 8 10 O código acima mostra exatamente a funcionalidade do comando break. Nós definimos a estrutura for para que mostrasse os números pares de 2 a 100, mas apenas serão apresentados os pares de 0 a 10. Isso acontece porque há uma condição dentro da estrutura que diz que se a variável i for divisível por 10, então, executa o comando break. No momento que break é executado, não estamos mais dentro do loop. 1.7. Continue O comando continue funciona de forma parecida com o comando break, mas ao invés de sair completamente da estrutura, ele apenas ignora o resto do código. Vejamos: <?php for ($i=0; $i <= 10; $i++){
  • 13. if ($i%2 == 0) //se i for par (divisível por 2) continue; //ignora o resto do for e vai para o próximo número echo ($i . " "); } ?> O que resulta em: 1 3 5 7 9 Ou seja, toda vez que i for divisível por 2, então, ignorar o resto do código (echo ($i . " ");) como se já tivesse chegado na chave final do for.
  • 14. 2. Bibliografia Break e continue – TI Expert. NET Disponível em: <http://www.tiexpert.net/programacao/web/php/break-continue.php>. Acesso em: 09/10/2013. Estruturas de Repetição e Controle em PHP– #Dot Sharp. Disponível em: <http://www.dotsharp.com.br/programacao/php/estruturas-de- repeticao-e-controle-em-php.html>. Acesso em: 09/10/2013. do-while– Manual PHP. Disponível em: <http://php.net/manual/pt_BR/control-structures.do.while.php>. Acesso em: 09/10/2013. Estruturas de controle no PHP–Dev Media. Disponível em: <http://www.devmedia.com.br/estruturas-de-controle-no-php/25730>. Acesso em: 09/10/2013. Estruturas de controle de fluxo do PHP– Linha de Código. Disponível em: <http://www.linhadecodigo.com.br/artigo/3544/estruturas-de- controle-de-fluxo-do-php.aspx>. Acesso em: 09/10/2013.