|
|
Estruturas de Controle
por: admin
Total visitas: 306
Palavras: 2359
| Blocos |
|
Um bloco consiste em vários comandos agrupados com o objectivo de relacioná-los com determinado comando ou função. Em comandos como if, for, while, switch e em declarações de funções blocos podem ser utilizados para permitir que um comando faça parte do contexto desejado. Blocos em PHP são delimitados pelos caracteres "{" e "}". A utilização dos delimitadores de bloco numa parte qualquer do código não relacionada com os comandos citados ou funções não produzirá efeito algum, e será tratada normalmente pelo interpretador. Exemplo: if ($x == $y) Para que comando2 esteja relacionado ao if é preciso utilizar um bloco: if ($x == $y){ |
| Comandos de seleção |
|
Também chamados de condicionais, os comandos de seleção permitem executar comandos ou blocos de comandos com base em testes feitos durante a execução. if O mais trivial dos comandos condicionais é o if. Ele testa a condição e executa o comando indicado, se o resultado for true (valor diferente de zero). Este comando possui duas sintaxes: if (condição)
Para incluir mais do que um comando no if da primeira sintaxe, é preciso utilizar um bloco, demarcado por chaves. O else é um complemento opcional para o if. Se utilizado, o comando será executado se a expressão retornar o valor false (zero). Suas duas sintaxes são: if (expressão)
if ($a > $b) O exemplo acima coloca em $maior o maior valor entre $a e $b Em determinadas situações é necessário fazer mais do que um teste, e executar condicionalmente diversos comandos ou blocos de comandos. Para facilitar o entendimento de uma estrutura do tipo: if (expressao1) foi criado o comando, também opcional elseif. Ele tem a mesma função de um else e um if usados sequencialmente, como no exemplo acima. Num mesmo if podem ser utilizados diversos elseif's, ficando essa utilização a critério do programador, que deve cuidar a legibilidade do seu script. O comando elseif também pode ser utilizado com dois tipos de sintaxe. Em resumo, a sintaxe geral do comando if fica das seguintes maneiras: if (expressao1)
O comando switch actua de maneira semelhante a uma série de comandos if na mesma expressão. Frequentemente o programador pode querer comparar uma variável com diversos valores, e executar um código diferente a depender de qual valor é igual ao da variável. Quando isso for necessário, deve-se usar o comando switch. O exemplo seguinte mostra dois trechos de código que fazem a mesma coisa, sendo que o primeiro utiliza uma série de if's e o segundo utiliza switch: if ($i == 0) switch ($i) {
switch ($i) {
switch ($s) {
|
| Comandos de repetição |
|
while O while é o comando de repetição mais simples. Ele testa uma condição e executa um comando, ou um bloco de comandos, até que a condição testada seja falsa. Assim como o if, o while também possui duas sintaxes alternativas: while (<expressao>)
A expressão só é testada a cada vez que o bloco de instruções termina, além do teste inicial. Se o valor da expressão passar a false no meio do bloco de instruções, a execução segue até o final do bloco. Se no teste inicial a condição for avaliada como false, o bloco de comandos não será executado. $i = 1;
do... while O ciclo do..while funciona de maneira bastante semelhante ao while, com a simples diferença que a expressão é testada ao final do bloco de comandos. O ciclo do..while possui apenas uma sintaxe, que é a seguinte: do { O exemplo utilizado para ilustrar o uso do while pode ser feito da seguinte maneira utilizando o do.. while:
for O ciclo mais complexo é o for. Para os que programam em C, C++ ou Java, a assimilação do funcionamento do for é natural. Mas para aqueles que estão acostumados a linguagens como Pascal, há uma grande mudança para o uso do for. As duas sintaxes permitidas são: for (<inicializacao>;<condicao>;<incremento>)
As três expressões que ficam entre parênteses têm as seguintes finalidades: Inicialização: comando ou sequencia de comandos a serem realizados antes do inicio do laço. Serve para inicializar variáveis. Condição: Expressão booleana que define se os comandos que estão dentro do laço serão executados ou não. Enquanto a expressão for verdadeira (valor diferente de zero) os comandos serão executados. Incremento: Comando executado ao final de cada execução do laço. Um comando for funciona de maneira semelhante a um while escrito da seguinte forma: <inicializacao>
|
| Quebra de fluxo |
|
Break O comando break pode ser utilizado em ciclo de do, for e while, além do uso já visto no comando switch. Ao encontrar um break dentro de um desses laços, o interpretador PHP pára imediatamente a execução do ciclo, seguindo normalmente o fluxo do script. while ($x > 0) { Na porção de código acima, o ciclo while tem uma condição para seu fim normal ($x <= 0), mas foi utilizado o break para o caso de um fim não previsto no início do ciclo. Assim o interpretador seguirá para o comando seguinte do ciclo. Continue O comando continue também deve ser utilizado no interior dos ciclos, e funciona de maneira semelhante ao break, com a diferença que o fluxo em vez de sair do ciclo para o início dele. Vejamos o exemplo: for ($i = 0; $i < 100; $i++) { O exemplo acima é uma maneira ineficiente de imprimir os números pares entre 0 e 99. O que o ciclo faz é testar se o resto da divisão entre o número e 2 é 0. Se for diferente de zero (valor lógico true) o interpretador encontrará um continue, que faz com que os comandos seguintes do interior do ciclo sejam ignorados, seguindo para o inicio do ciclo. |
Sobre o Autor
Administração
Votação: Not yet rated
