Curso de PHP Aula 2 – Lógica de Programação II Ministrantes: Pessoa X ➔ Pessoa Y ➔ Pessoa Z ➔ Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Objetivos da Aula 2 Entender estruturas de condição IF e SWITCH; Estrutura de repetição FOR, WHILE e DO...WHILE; Utilização de funções básicas para hora e funções matemáticas; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Estruturas de Condição São aquelas que desviam para determinado bloco de código, se – ou enquanto – a condição for satisfeita; Caso contrário desviam para um outro bloco de código pré-estabelecido. Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Tipos de Estruturas de Condição IF; SWITCH; FOR; WHILE; DO...WHILE; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Estruturas de Condição: "IF" Verifica se determinada condição é verdadeira. ➔ Se ela for verdadeira, executa os comandos estabelecidos logo em seguida; Caso contrário, procura pelo trecho referente ao else ("senão"). Se else for encontrado, executa o código presente nele; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo 1: "IF" Código <? if ($idade < 18) echo "É de menor"; else // em qualquer outro caso... echo "É de maior”; ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo 2: "IF" Pode-ser inserir um IF dentro do outro; Código <? if ($idade < 18) echo "É de menor"; else if ($idade = 18) // senão: se $idade = 18 echo "Tem 18 anos”; else // caso contrário... echo "Tem mais de 18 anos"; ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo 3: "IF" Código <? if ($idade < 18) echo "É de menor"; elif ($idade = 18) // senão: se $idade = 18 echo "Tem 18 anos”; else // caso contrário... echo "Tem mais de 18 anos"; ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Estruturas de Condição: SWITCH Verifica se determinada variável corresponde a um – ou mais – valores em uma lista préestabelecida; ➔ ➔ Se encontrar algum valor que corresponda, executa os comandos estabelecidos dentro desse valor; Caso contrário, procura pelo trecho referente ao default (padrão). Se encontrado, executa o código presente nele; Necessita de um break para parada; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo 1: "SWITCH" Código <? $opc = 2; switch ($opc) { case 1: echo "Cachorro Quente <br>"; case 2: echo "X-Salada <br>"; case 3: echo "Tudo <br>"; default: echo "Nao escolhi nada <br>"; } ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Resultado 1: "SWITCH" Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo 2: "SWITCH" Código <? $opc = 2; switch ($opc) { case 1: echo "Cachorro Quente <br>"; break; case 2: echo "X-Salada <br>"; break; case 3: echo "Tudo <br>"; break; default: echo "Nao escolhi nada <br>"; } ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Resultado 2: "SWITCH" Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Estruturas de Condição: "FOR" Executa determinado bloco de código até que a condição estabelecida seja satisfeita; ➔ ➔ ➔ Enquanto a condição não é satisfeita, continua executando aquele bloco de código; Quando a condição for satisfeita, para a execução do bloco de código e começa a executar os próximos comandos (que se encontram fora do FOR); Utilização: for (INICIO, CONDICAO, INCREMENTO); Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo: "FOR" Código <? for ($i=1; $i<=5; $i++) { echo "Essa eh a $i-esima impressao... <br>"; } echo "Este codigo esta fora do FOR..."; ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Resultado: "FOR" Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Estruturas de Condição: "WHILE" Executa determinado bloco de código até que a condição estabelecida seja satisfeita; ➔ ➔ Enquanto a condição não é satisfeita, continua executando aquele bloco de código; Quando a condição for satisfeita, para a execução do bloco de código e começa a executar os próximos comandos (que se encontram fora do WHILE); Funciona como o FOR, mas sua estrutura é diferente; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo: "WHILE" Código <? $i = 1; while ($i <= 5) { echo "Essa eh a $i-esima impressao... <br>"; $i++; } echo "Este codigo esta fora do WHILE..."; ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Resultado: "WHILE" Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Estruturas de Condição: "DO … WHILE" Funciona como o WHILE, mas pelo menos uma vez o bloco de código é executado, pois a verifificação é feita no final; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Comparação: "WHILE" e "DO WHILE" Código <? $i = 10; while ($i <= 5) { echo "Esse codigo nao sera executado."; } do { echo "Esse codigo sera executado uma vez."; } while ($i <= 5); ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo: "DO … WHILE" Código <? $i = 1; do { echo "Essa eh a $i-esima impressao... <br>"; $i++; } while ($i <= 5); echo "Este codigo esta fora do DO ... WHILE..."; ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Resultado: "DO … WHILE" Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Funções PHP: "DATE" A função DATE retorna a hora ou data atual, mas necessita ser formatada de forma adequada; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Manipulando data em PHP Os principais argumentos para data são: ➔ d: dia do mês (01 à 31); ➔ D: dia em modo textual (Seg à Dom / Mon to Sun); ➔ m: mês do ano (01 à 12); ➔ M: mês do ano textual (Jan à Dez / Jan to Dec); ➔ y: ano representado em dois digitos (ex: 99, 10); ➔ Y: ano completo (ex: 1999, 2010); A saída depende do idioma instalado do PHP Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo: "DATE" Código <? echo date("d/m/y") . "<br>"; // dd/mm/aa echo date("D m y") . "<br>"; // dia_semana mm aa echo date("D M d, Y"); // dia_semana MES dia, ANO ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Resultado: "DATE" Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Manipulando hora em PHP Os principais argumentos para hora são: ➔ h: hora em formato 12-horas (1 até 12); ➔ H: hora em formato 24-horas (0 até 23); ➔ m: minutos (00 até 59); ➔ I: segundos (00 até 59); Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo 2: "DATE" Código <? echo date("h:m:i") . "<br>"; // hora:min:seg echo date("H:m:i") . "<br>"; // HORA:min:seg ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Resultado 2: "DATE" Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Funções matemáticas em PHP As principais funções matemáticas são: ➔ cos(a); Retorna o valor do cosseno de a; sin(a); Retorna o valor do seno de a; ➔ pi(); Retorna o valor de PI; ➔ log(a, b); Retorna o logaritmo de a na base b; ➔ log10(a); Retorna o logaritmo de a na base 10; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo Código <? echo sin(deg2rad(60)) . "<br>"; // 0.866025403 echo sin(60) . "<br>"; // -0.304810621 echo cos(pi()) . "<br>"; // -1 echo pi(); // 3.1415926535 ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Funções matemáticas em PHP Outras funções matemáticas são: ➔ ➔ ➔ pow(a, b); Retorna a potência da base a no expoente b; min(valor1, valor2, …, valorn); Retorna o menor valor da faixa estabelecida; max(valor1, valor2, ..., valorn); Retorna o maior valor da faixa estabelecida; Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados Exemplo Código <? echo pow(3, 2) . "<br>"; // 3^2 = 9 echo min(2, 7, 6, 5, 4, 8) . "<br>"; // 2 echo max(2, 7, 6, 5, 4, 8) . "<br>"; // 8 ?> Programa Bolsa-Instrutor - http://www.inf.ufpr.br/instrutores © 2010 – Todos os direitos reservados