Tutorial PHP – Parte VI

Finalmente o Próximo tutorial :)

Flag é o nome dado à uma variável que tem apenas um valor para comparação, na maioria das vezes TRUE ou FALSE (VERDADEIRO ou FALSO). Vejamos como fica no nosso exemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$nomes = array("Pedro", "Maria", "Carlos", "Ana", "Joana", "Bruna");
$flag = false;
foreach( $nomes as $nome ) {
  if( $nome == "Ana" ) {
    $flag = true;
  }
}
if( $flag ) {
  echo "O nome Ana foi encontrado";
} else {
  echo "O nome Ana não foi encontrado";
}
?>


Ora vejamos…
Criamos a array, definimos a nossa $flag como false (falso), pois “Ana” não foi encontrada dentro da array ainda, varremos a array passando o valor para a variável $nome, se $nome for igual a “Ana” alteramos a nossa $flag para true (verdadeiro). Terminando completamente o loop, executamos a condicional, repara que não temos realmente uma comparação a ser feita, por quê isso? pois na verdade toda comparação retorna TRUE ou FALSE, ex: 1 == 2 FALSE, 5 == 5 TRUE, e assim por diante. Como nossa variável já tem um valor boleano (TRUE ou FALSE), ela mesmo se encarregará de retornar a resposta para o comando if. Se $flag conter TRUE apresentamos “O nome Ana foi encontrado”, caso contrário, “O nome Ana não foi encontrado”.

Imagina agora, se estivéssemos à procurando de “Pedro”, era uma repetição sem sentido até ao final da array, já que “Pedro” é o primeiro nome, mas como consigo parar um loop?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$nomes = array("Pedro", "Maria", "Carlos", "Ana", "Joana", "Bruna");
$flag = false;
foreach( $nomes as $nome ) {
  if( $nome == "Pedro" ) {
    $flag = true;
    break;
  }
}
if( $flag ) {
  echo "O nome Pedro foi encontrado";
} else {
  echo "O nome Pedro não foi encontrado";
}
?>

A única diferença, é o comando break, que simplesmente corta o loop no momento que for encontrado o nome que procuramos. :)

Outras formas de Loop
Vamos ver algumas outras formas de loop para utilizar não somente em arrays. Vamos para a primeira delas, while:

1
2
3
4
5
6
7
<?php
$contagem = 1;
while( $contagem <= 10 ) {
  echo $contagem;
  $contagem = $contagem + 1;
}
?>

O comando while (enquanto) executa determinada função enquanto a sua condicional for verdadeira.

while( $contagem <= 10 ) – Enquanto a contagem for menor ou igual à 10, apresentamos o valor de $contagem no navegador e alteramos o valor de $contagem para $contagem + 1, ou seja, um a mais que o seu valor anterior.

Muitas vezes vocês vão conseguir fazer os chamados loops infinitos, ou seja, ele vai ficar em execução até acabar com o tempo limite do PHP.
Um exemplo de loop infinito (não executes :D):

1
2
3
4
5
6
<?php
$contagem = 1;
while( $contagem <= 10 ) {
  echo $contagem;
}
?>

Como podes ver fazemos praticamente a mesma acção que a de acima, mas esquecemos de aumentar o valor da variável $contagem, ou seja, ela sempre terá o valor igual à 1, nunca passará de 10.

Outro comando para loop que é disponível no PHP é o for, que, basicamente, é o mesmo que o while, mas não precisamos controlar a contagem, como no exemplo acima.

1
2
3
4
5
<?php
for( $contagem = 1; $contagem <= 10; $contagem++ ) {
  echo $contagem;
}
?>

De certa forma é mais simples que o while.
for( INICIALIZAÇÃO; CONDICIONAL; INCREMENTO )

Ou seja, na primeira parte iniciamos a $contagem, depois fazemos a nossa condicional verificando se $contagem é <= à 10 e por último, aumentamos o valor da variável $contagem. Repara que dessa vez, utilizamos $contagem++ para aumentar a variável.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$numero = 5;
 
$numero++; // $numero é aumentado em 1
$numero--; // $numero é diminuído em 1
 
$numero += 10; // $numero é aumentado em 10
$numero -= 10; // $numero é diminuído em 10
 
$numero = 5;
$a = $numero++; // $a recebe $numero (5) e então $numero é aumentado em 1
 
$numero = 5;
$a = ++$numero; // $numero é aumentado em 1 e então passa o novo valor (6) para $a
 
$numero = 5;
$a = $numero--; // $a recebe $numero (5) e então $numero é diminuído em 1
 
$numero = 5;
$a = --$numero; // $numero é diminuído em 1 e então passa o novo valor (4) para $a
?>

Há também outros comandos para loop como do… while / while… do Mas que teria a mesma sintaxe do comando while, deixaremos eles de fora por enquanto.

Acabou :)
Exacto, infelizmente acabou… Tudo precisa de um começo, um meio e um fim. Bom, estamos quase em 20% :D . Estou a preparar outros tutoriais envolvendo funções de maior utilidade para o desenvolvimento de sites, mas espero que esse pequeno tutorial tenha servido como uma introdução para quem procura aprender mais sobre PHP e as maravilhas que pode fazer com ele.

Qualquer dúvida, estou inteiramente a disposição para tentar lhe ajudar. Basta “perguntar” ;)

Tutorial by ORiOn – sob a licença Creative Commons

ORiOn

Sou o administrador e fundador deste blog e também um rapazinho de 18 anos, iniciante em web-development e web-design. Podes me seguir no Twitter ou entrar em contacto comigo no msn ou por email.


Com um total de 622 posts.


1 Comentário

  1. LibertyTuga - Tutorial PHP - Parte 5
    18 de Janeiro de 2009 ás 13:49

    [...] Tutorial PHP – Parte VI [...]

Comenta com força que é de graça!

:D :) ^_^ :( :o 8O 8) ;-( :lol: xD :wink: :evil: :p :whistle: :woot: :sleep: =] :sick: :straight: :ninja: :love: :kiss: :angel: :bandit: :alien: