2464 php com mysql

Upload: daniel-macedo

Post on 08-Jul-2015

61 views

Category:

Documents


0 download

TRANSCRIPT

Apostila de PHP com MySQL

PHP com MySQL

Enviada por: Jos Henrique Monteiro De Almeida

1

Apostila de PHP com MySQL

Sumrio1. INTRODUO AO PHP............................................................................................................................................. 4 1.1. O QUE PHP?........................................................................................................................................................... 4 1.2. COMO SURGIU A LINGUAGEM PHP?.......................................................................................................................... 4 1.3. CARACTERSTICAS DA LINGUAGEM PHP .................................................................................................................. 5 1.4. CONFIGURAO DO IIS............................................................................................................................................. 5 1.5. TESTANDO O PHP ..................................................................................................................................................... 5 2. SINTAXE DO PHP....................................................................................................................................................... 6 2.1. DELIMITANDO O CDIGO PHP .................................................................................................................................. 6 2.2. SEPARADOR DE INSTRUES..................................................................................................................................... 6 2.3. COMENTRIOS .......................................................................................................................................................... 6 2.4. IMPRIMINDO CDIGO HTML....................................................................................................................................... 7 3 VARIVEIS................................................................................................................................................................ 8 3.1. NOMES DE VARIVEIS ............................................................................................................................................... 8 3.2. TIPOS SUPORTADOS .................................................................................................................................................. 8 3.3. TRANSFORMAO DE TIPOS .................................................................................................................................... 11 4. OPERADORES........................................................................................................................................................... 14 4.1. OPERADORES ARITMTICOS ................................................................................................................................... 14 4.2. OPERADORES DE STRINGS ...................................................................................................................................... 14 4.3. OPERADORES DE ATRIBUIO................................................................................................................................. 14 4.4. OPERADORES BIT A BIT ........................................................................................................................................... 15 4.5. OPERADORES LGICOS ........................................................................................................................................... 15 4.6. OPERADORES DE COMPARAO ............................................................................................................................. 15 4.7. OPERADORES DE EXPRESSO CONDICIONAL........................................................................................................... 15 4.8. OPERADORES DE INCREMENTO E DECREMENTO ...................................................................................................... 15 5. ESTRUTURAS DE CONTROLE ............................................................................................................................. 17 5.1. BLOCOS .................................................................................................................................................................. 17 5.2. ESTRUTURA IF / ELSE / ELSEIF ................................................................................................................................. 17 5.3. ESTRUTURA SWITCH CASE ..................................................................................................................................... 20 5.4. ESTRUTURAS DE REPETIO ................................................................................................................................... 22 5.4.1. WHILE ................................................................................................................................................................. 22 5.4.2. DO ... WHILE ........................................................................................................................................................ 23 5.4.3. FOR ...................................................................................................................................................................... 23 5.5. QUEBRA DE FLUXO ................................................................................................................................................. 24 5.5.1. BREAK ................................................................................................................................................................. 24 5.5.2. CONTINUE ............................................................................................................................................................ 24 6. FUNES ................................................................................................................................................................... 26 6.1. ESCOPO DE VARIVEIS ..................................................................................................................................... 28 6.2. GLOBAIS ................................................................................................................................................................. 28 6.3. LOCAIS ................................................................................................................................................................... 29 6.4. ESTTICAS .............................................................................................................................................................. 29 6.5. CONSTANTES .......................................................................................................................................................... 30 7. UTILIZANDO FORMULRIOS HTML ................................................................................................................ 31 7.1. DEFININDO UM FORMULRIO .................................................................................................................................. 31 7.2. INTERAGINDO O PHP COM OS FORMULRIOS HTML ............................................................................................. 35 7.3. VARIVEL $_POST ................................................................................................................................................ 35

2

Apostila de PHP com MySQL

8. TRABALHANDO COM MYSQL............................................................................................................................. 40 8.1. O BANCO DE DADOS MYSQL................................................................................................................................. 40 8.2. CARACTERSTICAS DO MYSQL .............................................................................................................................. 41 8.3. O QUE O MYSQL FAZ DE MELHOR .......................................................................................................................... 41 8.3. O MYSQL GRATUITO ? ........................................................................................................................................ 41 8.4. TIPOS DE DADOS DO MYSQL.................................................................................................................................. 42 8.5. COMANDOS BSICOS DO SQL ................................................................................................................................ 45 8.6. MANIPULANDO DADOS DAS TABELAS ..................................................................................................................... 46 9. CONEXO COM O MYSQL VIA PHP .................................................................................................................. 49 9.1. ABRINDO E FECHANDO CONEXO COM O MYSQL ................................................................................................. 49 9.2. TRATAMENTO DE RESULTADOS DE QUERY SELECT ................................................................................................. 52 10. UTILIZANDO HEADERS ...................................................................................................................................... 55 11. UTILIZANDO COOKIES ....................................................................................................................................... 56 11.1. O QUE SO COOKIES ............................................................................................................................................. 56 11.2. GRAVANDO COOKIES ............................................................................................................................................ 56 11.3. LENDO COOKIES GRAVADOS ................................................................................................................................. 57 13. TRABALHANDO COM SESSES (SESSIONS) ................................................................................................ 59 13.1. FUNO SESSION_REGISTER() .............................................................................................................................. 59 14. FUNES DO PHP ................................................................................................................................................. 60 14.1. FUNES DIVERSAS .............................................................................................................................................. 60 14.2. FUNES DE MANIPULAO DE ARQUIVOS ........................................................................................................... 66

3

Apostila de PHP com MySQL

1. Introduo ao PHP1.1. O que PHP?O PHP uma linguagem que permite criar sites WEB dinmicos, possibilitando uma interao com o usurio atravs de formulrios, parmetros da URL e links. A diferena de PHP com relao a linguagens semelhantes a Javascript que o cdigo PHP executado no servidor, sendo enviado para o cliente apenas html puro. Desta maneira possvel interagir com bancos de dados e aplicaes existentes no servidor, com a vantagem de no expor o cdigo fonte para o cliente. Isso pode ser til quando o programa est lidando com senhas ou qualquer tipo de informao confidencial. O que diferencia PHP de um script CGI escrito em C ou Perl que o cdigo PHP fica embutido no prprio HTML, enquanto no outro caso necessrio que o script CGI gere todo o cdigo HTML, ou leia de um outro arquivo.

1.2. Como surgiu a linguagem PHP?A linguagem PHP foi concebida durante o outono de 1994 por Rasmus Lerdorf. As primeiras verses no foram disponibilizadas, tendo sido utilizadas em sua home-page apenas para que ele pudesse ter informaes sobre as visitas que estavam sendo feitas. A primeira verso utilizada por outras pessoas foi disponibilizada em 1995, e ficou conhecida como Personal Home Page Tools (ferramentas para pgina pessoal). Era composta por um sistema bastante simples que interpretava algumas macros e alguns utilitrios que rodavam por trs das home-pages: um livro de visitas, um contador e algumas outras coisas. Em meados de 1995 o interpretador foi reescrito, e ganhou o nome de PHP/FI, o FI veio de um outro pacote escrito por Rasmus que interpretava dados de formulrios HTML (Form Interpreter). Ele combinou os scripts do pacote Personal Home Page Tools com o FI e adicionou suporte a mSQL, nascendo assim o PHP/FI, que cresceu bastante, e as pessoas passaram a contribuir com o projeto. Estima-se que em 1996, PHP/FI estava sendo usado por cerca de 15.000 sites pelo mundo, e em meados de 1997 esse nmero subiu para mais de 50.000. Nessa poca houve uma mudana no desenvolvimento do PHP. Ele deixou de ser um projeto de Rasmus com contribuies de outras pessoas para ter uma equipe de desenvolvimento mais organizada. O interpretador foi reescrito por Zeev Suraski e Andi Gutmans. Esse novo interpretador foi base para a verso 3. O lanamento do PHP4, ocorrido em 22/05/2000, trouxe muitas novidades aos programadores de PHP. Uma das principais foi o suporte a sesses, bastante til pra identificar o cliente que solicitou determinada informao. Alm das mudanas referentes a sintaxe e novos recursos de programao, o PHP4 trouxe como novidade um otimizador chamado Zend, que permite a execuo muito mais rpida de scripts PHP.A empresa que produz o Zend promete para este ano o lanamento de um compilador de PHP. Cdigos compilados sero executados mais rapidamente, alm de proteger o fonte da aplicao. Hoje, j se encontra disponvel no mercado a verso 5.x do PHP.

4

Apostila de PHP com MySQL

1.3. Caractersticas da Linguagem PHP uma linguagem de fcil aprendizado; Tem suporte a um grande nmero de bancos de dados como: dBase, Interbase, mSQL, mySQL, Oracle, Sybase, PostgreSQL e vrios outros. Tem suporte a outros servios atravs de protocolos como IMAP, SNMP, NNTP, POP3 e, logicamente, HTTP; multiplataforma, tendo suporte aos sistemas Operacionais mais utilizados no mercado; Seu cdigo livre, no preciso pagar por sua utilizao e pode ser alterado pelo usurio na medida da necessidade de cada usurio No precisa ser compilado.

1.4. Configurao do IISAntes de comearmos a trabalhar com o PHP, precisamos instalar e configurar o PHP, o MySQL e o IIS (Internet Information Service). Para configur-los siga as orientaes do tutorial Instalando e Configurando o PHP, IIS e MySQL que acompanha o CD do curso de PHP.

1.5. Testando o PHPVamos criar um pequeno script em PHP para testarmos e verificarmos se o PHP e o IIS foram instalados e configurados corretamente no seu computador. Utilizando o Dreamweaver ou o Bloco de Notas, digite o script a seguir. Aprendendo PHP Salve o arquivo como primeiro.php na pasta C:\Cursos\alunos\seudiretrio. Agora, abra o navegador e, na barra de endereos, digite o seguinte endereo: http://localhost/seunome/primeiro.php, onde seu nome o diretrio virtual que voc criou, lembra? Observe que o seu browser exibiu a frase Primeiro exemplo. Sinal de que o PHP e o IIS foram instalados e configurados corretamente no seu computador.

5

Apostila de PHP com MySQL

2. Sintaxe do PHP2.1. Delimitando o cdigo PHPO cdigo PHP fica embutido no prprio HTML. O interpretador identifica quando um cdigo PHP pelas seguintes tags: comandos; O tipo de tags mais utilizado o terceiro, que consiste em uma abreviao do primeiro. Para utiliz-lo, necessrio habilitar a opo short-tags na configurao do PHP. O ltimo tipo serve para facilitar o uso por programadores acostumados sintaxe de ASP. Para utiliz-lo tambm necessrio habilit-lo no PHP, atravs do arquivo de configurao php.ini.

2.2. Separador de instruesEntre cada instruo em PHP preciso utilizar o ponto-e-vrgula, assim como em C, Perl e outras linguagens mais conhecidas. Na ltima instruo do bloco de script no necessrio o uso do ponto-evrgula, mas por questes estticas recomenda-se o uso sempre.

2.3. ComentriosH dois tipos de comentrios em cdigo PHP: Comentrios de uma linha: Marca como comentrio at o final da linha ou at o final do bloco de cdigo PHP o que vier antes. Pode ser delimitado pelo caracter # ou por duas barras ( // ). O delimitador //, normalmente, o mais utilizado. Exemplo:

6

Apostila de PHP com MySQL

Comentrios de mais de uma linha: Tem como delimitadores os caracteres /* para o incio do bloco e */ para o final do comentrio. Se o delimitador de final de cdigo PHP ( ?> ) estiver dentro de um comentrio, no ser reconhecido pelo interpretador. Exemplo:

2.4. Imprimindo cdigo htmlUm script php geralmente tem como resultado uma pgina html, ou algum outro texto. Para gerar esse resultado, deve ser utilizada uma das funes de impresso, echo e print. Sintaxes: print(argumento); echo (argumento1, argumento2, ... ); echo argumento; Exemplos:

7

Apostila de PHP com MySQL

3 Variveis3.1. Nomes de variveisToda varivel em PHP tem seu nome composto pelo caracter $(dlar) e uma string, que deve iniciar por uma letra ou o caracter _. O PHP case sensitive, ou seja, as variveis $vivas e $VIVAS so diferentes. Por isso preciso ter muito cuidado ao definir os nomes das variveis. bom evitar os nomes em maisculas, pois como veremos mais adiante, o PHP j possui algumas variveis pr-definidas cujos nomes so formados por letras maisculas. Exemplo de variveis: $teste = nome correto de varivel teste= nome errado de varivel. _teste= nome correto de varivel

Obs.: Normalmente, a varivel criada utilizando-se, na maioria das vezes, o caracter $ (dlar).

3.2. Tipos SuportadosO PHP suporta os seguintes tipos de dados: Inteiro Ponto flutuante String Array Objeto

O PHP utiliza checagem de tipos dinmica, ou seja, uma varivel pode conter valores de diferentes tipos em diferentes momentos da execuo do script. Por este motivo no necessrio declarar o tipo de uma varivel para us-la. O interpretador PHP decidir qual o tipo daquela varivel, verificando o contedo em tempo de execuo. Ainda assim, permitido converter os valores de um tipo para outro desejado, utilizando o typecasting ou a funo settype (ver adiante). Inteiros (integer ou long) Uma varivel pode conter um valor inteiro com atribuies que sigam as seguintes sintaxes: $vivas = 1234; # inteiro positivo na base decimal $vivas = -234; # inteiro negativo na base decimal $vivas = 0234; # inteiro na base octal-simbolizado pelo 0 equivale a 156 decimal $vivas = 0x34; # inteiro na base hexadecimal(simbolizado pelo 0x) equivale a 52 decimal.

8

Apostila de PHP com MySQL

A diferena entre inteiros simples e long est no nmero de bytes utilizados para armazenar a varivel. Como a escolha feita pelo interpretador PHP de maneira transparente para o usurio, podemos afirmar que os tipos so iguais. Ponto Flutuante (double ou float) Uma varivel pode ter um valor em ponto flutuante com atribuies que sigam as seguintes sintaxes: Strings Strings podem ser atribudas de duas maneiras: a) utilizando aspas simples ( ' ) Desta maneira, o valor da varivel ser exatamente o texto contido entre as aspas (com exceo de \\ e \' ver exemplo abaixo) b) utilizando aspas duplas ( " ) Desta maneira, qualquer varivel ou caracter de escape ser expandido antes de ser atribudo. Exemplo: A sada desse script ser "---$teste--\n". A sada desse script ser "---Mauricio--" (com uma quebra de linha no final). A tabela seguinte lista os caracteres de escape: Sintaxe \n \r \t \\ \$ \ \ Significado Nova linha Retorno de carro (semelhante a \n) Tabulao horizontal A prpria barra ( \ ) O smbolo $ Aspa simples Aspa dupla $vivas = 1.234; $vivas = 23e4; # equivale a 230.000

9

Apostila de PHP com MySQL

Arrays Arrays em PHP podem ser observados como mapeamentos ou como vetores indexados. Mais precisamente, um valor do tipo array um dicionrio onde os ndices so as chaves de acesso. Vale ressaltar que os ndices podem ser valores de qualquer tipo e no somente inteiros. Inclusive, se os ndices forem todos inteiros, estes no precisam formar um intervalo contnuo Como a checagem de tipos em PHP dinmica, valores de tipos diferentes podem ser usados como ndices de array, assim como os valores mapeados tambm podem ser de diversos tipos. Exemplo: Equivalentemente, pode-se escrever: Listas As listas so utilizadas em PHP para realizar atribuies mltiplas. Atravs de listas possvel atribuir valores que esto num array para variveis. Vejamos o exemplo: Exemplo: list($a, $b, $c) = array(a, b, c); O comando acima atribui valores s trs variveis simultaneamente. bom notar que s so atribudos s variveis da lista os elementos do array que possuem ndices inteiros e no negativos. No exemplo acima as trs atribuies foram bem sucedidas porque ao inicializar um array sem especificar os ndices eles passam a serinteiros, a partir do zero. Um fator importante que cada varivel da lista possui um ndice inteiro e ordinal, iniciando com zero, que serve para determinar qual valor ser atribudo. No exemplo anterior temos $a com ndice 0, $b com ndice 1 e $c com ndice 2. Vejamos um outro exemplo:

Aps a execuo do cdigo acima temos os seguintes valores: 10

Apostila de PHP com MySQL

$a == null (vazio, no aparece nada) $b == um $c == dois $d == tres Devemos observar que varivel $a no foi atribudo valor, pois no array no existe elemento com ndice 0 (zero). Outro detalhe importante que o valor tres foi atribudo varivel $d, e no a $b, pois seu ndice 3, o mesmo que $d na lista. Por fim, vemos que o valor letraA no foi atribudo a elemento algum da lista pois seu ndice no inteiro. Os ndices da lista servem apenas como referncia ao interpretador PHP para realizar as atribuies, no podendo ser acessados de maneira alguma pelo programador. De maneira diferente do array, uma lista no pode ser atribuda a uma varivel, servindo apenas para fazer mltiplas atribuies atravs de um array. Booleanos O PHP no possui um tipo booleano, mas capaz de avaliar expresses e retornar true ou false, atravs do tipo integer: usado o valor 0 (zero) para representar o estado false, e qualquer valor diferente de zero (geralmente 1) para representar o estado true.

3.3. Transformao de tiposA transformao de tipos em PHP pode ser feita das seguintes maneiras: a) Coeres Quando ocorrem determinadas operaes (+, por exemplo) entre dois valores de tipos diferentes, o PHP converte o valor de um deles automaticamente (coero). interessante notar que se o operando for uma varivel, seu valor no ser alterado. O tipo para o qual os valores dos operandos sero convertidos determinado da seguinte forma: Se um dos operandos for float, o outro ser convertido para float, seno, se um deles for integer, o outro ser convertido para integer. Exemplo: Como podemos notar, o PHP converte string para integer ou double mantendo o valor. O sistema utilizado pelo PHP para converter de strings para nmeros o seguinte:

11

Apostila de PHP com MySQL

analisado o incio da string. Se contiver um nmero, ele ser avaliado. Seno, o valor ser 0 (zero); O nmero pode conter um sinal no incio (+ ou -); Se a string contiver um ponto em sua parte numrica a ser analisada, ele ser considerado, e o valor obtido ser double; Se a string contiver um e ou E em sua parte numrica a ser analisada, o valor seguinte ser considerado como expoente da base 10, e o valor obtido ser double;

Exemplos: b) Transformao explcita de tipos A sintaxe do typecast de PHP semelhante ao C: basta escrever o tipo entre parnteses antes do valor. Exemplo: Os tipos permitidos na Transformao explcita so: (int), (integer) ----------------- = muda para integer; (real), (double), (float) ------ = muda para float; (string)-------------------------- = muda para string; (array) -------------------------- = muda para array; (object) ------------------------- = muda para objeto.

Com a funo settype A funo settype converte uma varivel para o tipo especificado, que pode ser integer, double, string, array ou object. 12

Apostila de PHP com MySQL

Sintaxe: Settype(nomedavarivel,novo tipo da varivbel)

Exemplo:

13

Apostila de PHP com MySQL

4. Operadores4.1. Operadores AritmticosS podem ser utilizados quando os operandos so nmeros (integer ou float). Se forem de outro tipo, tero seus valores convertidos antes da realizao da operao. So eles: + * / % adio subtrao multiplicao diviso mdulo

4.2. Operadores de StringsS h um operador exclusivo para strings: . concatenao Exemplo: A sada do script acima ser: Glucio Nascimento

4.3. Operadores de atribuioExiste um operador bsico de atribuio e diversos derivados. Sempre retornam o valor atribudo. No caso dos operadores derivados de atribuio, a operao feita entre os dois operandos, sendo atribudo o resultado para o primeiro. A atribuio sempre por valor, e no por referncia. = += -= *= /= %= .= atribuio simples atribuio com adio atribuio com subtrao atribuio com multiplicao atribuio com diviso atribuio com mdulo atribuio com concatenao

Exemplo:

14

Apostila de PHP com MySQL

4.4. Operadores bit a bitComparam dois nmeros bit a bit. & | ^ ~ > e lgico ou lgico ou exclusivo no (inverso) shift left shift right

4.5. Operadores LgicosUtilizados para inteiros representando valores booleanos and or xor ! && || e lgico ou lgico ou exclusivo no (inverso) e lgico ou lgico

Existem dois operadores para e e para ou porque eles tm diferentes posies na ordem de precedncia.

4.6. Operadores de ComparaoAs comparaes so feitas entre os valores contidos nas variveis, e no as referncias. Sempre retornam um valor booleano. == != < > = igual a diferente de menor que maior que menor ou igual a maior ou igual a

4.7. Operadores de Expresso condicionalExiste um operador de seleo que ternrio. Funciona assim: (expressao1)?(expressao2):(expressao3) O interpretador PHP avalia a primeira expresso. Se ela for verdadeira, a expresso retorna o valor de expresso2. Seno, retorna o valor de expresso3.

4.8. Operadores de incremento e decremento15

Apostila de PHP com MySQL

++ incremento decremento

Podem ser utilizados de duas formas: antes ou depois da varivel. Quando utilizado antes, retorna o valor da varivel antes de increment-la ou decrement-la. Quando utilizado depois, retorna o valor da varivel j incrementado ou decrementado. Exemplos: // $a e $b recebem o valor 10 // $c recebe 10 e $a passa a ter 11 // $d recebe 11, valor de $b j incrementado

16

Apostila de PHP com MySQL

5. Estruturas de ControleAs estruturas que veremos a seguir so comuns para as linguagens de programao imperativas, bastando, portanto, descrever a sintaxe de cada uma delas, resumindo o funcionamento.

5.1. BlocosUm bloco consiste de vrios comandos agrupados com o objetivo de relacion-los com determinado comando ou funo. Em comandos como if, for, while, switch e em declaraes de funes blocos podem ser utilizados para permitir que um comando faa parte do contexto desejado. Blocos em PHP so delimitados pelos caracteres { e }. A utilizao dos delimitadores de bloco em uma parte qualquer do cdigo no relacionada com os comandos citados ou funes no produzir efeito algum, e ser tratada normalmente pelo interpretador. Exemplo: Para que comando2 esteja relacionado ao if preciso utilizar um bloco:

5.2. Estrutura if / else / elseifO mais trivial dos comandos condicionais o if. Ele testa a condio e executa o comando indicado se o resultado for true (valor diferente de zero). Ele possui duas sintaxes: Sintaxes: if (expresso) comando;

if (expresso) { comando; ... ... ... comando; } Para incluir mais de um comando no if da primeira sintaxe, preciso utilizar um bloco, demarcado por chaves. 17

Apostila de PHP com MySQL

Exemplo 1:

Exemplo 2: Else O else um complemento opcional para o if. Se utilizado, o comando ser executado se a expresso retornar o valor false (zero). Suas duas sintaxes so: Sintaxes: if (expresso) comando; else comando; ou if (expresso) { comando 1; comando n else { comando 1; comando n } Exemplos: O exemplo acima coloca em $maior o maior valor entre $a e $b. Em determinadas situaes necessrio fazer mais de um teste, e executar condicionalmente diversos comandos ou blocos de comandos. Para facilitar o entendimento de uma estrutura do tipo: if (expressao1) comando1; else if (expressao2) comando2; else if (expressao3) comando3; else comando4; foi criado o comando, tambm opcional elseif. Ele tem a mesma funo de um else e um if usados seqencialmente, como no exemplo acima. Num mesmo if podem ser utilizados diversos elseifs, ficando essa utilizao a critrio do programador, que deve zelar pela legibilidade de seu script. Elseif O comando elseif tambm pode ser utilizado com dois tipos de sintaxe. Em resumo, a sintaxe geral do comando if fica das seguintes maneiras: Sintaxe: if (expressao1) comando; elseif (expressao2) comando; else comando; if (expresso 1) { comando 1; comando n; } elseif (expresso 2) { comando 1; comando n; } else { comando 1; comando n; }

ou

Exemplo:

5.3. Estrutura Switch CaseO comando switch atua de maneira semelhante a uma srie de comandos if na mesma expresso. Freqentemente o programador pode querer comparar uma varivel com diversos valores, e executar um cdigo diferente a depender de qual valor igual ao da varivel. Quando isso for necessrio, deve-se usar o comando switch. Sintaxe: swith ($valor){ case "____"; comandos; comandos; break; case "____"; comandos; comandos; break; case "____"; comandos; comandos; break; case "____"; comandos; comandos; break; default; comandos; comandos; break;

O exemplo seguinte mostra dois trechos de cdigo que fazem a mesma coisa, sendo que o primeiro utiliza uma srie de ifs e o segundo utiliza switch: Exemplos 1: Estrutura IF Exemplo 2: Estrutura SWITCH importante compreender o funcionamento do switch para no cometer enganos. O comando switch testa linha a linha os cases encontrados, e a partir do momento que encontra um valor igual ao da varivel testada, passa a executar todos os comandos seguintes, mesmo os que fazem parte de outro teste, at o fim do bloco. Por isso usa-se o comando break, quebrando o fluxo e fazendo com que o cdigo seja executado da maneira desejada. Veremos mais sobre o break mais adiante. Exemplo: No exemplo acima, se $i for igual a zero, os trs comandos print sero executados. Se $i for igual a 1, os dois ltimos print sero executados. O comando s funcionar da maneira desejada se $i for igual a 2. Em outras linguagens que implementam o comando switch, ou similar, os valores a serem testados s podem ser do tipo inteiro. Em PHP permitido usar valores do tipo string como elementos de teste do comando switch. O exemplo abaixo funciona perfeitamente:

21

Apostila de PHP com MySQL

Exemplo:

5.4. Estruturas de RepetioAs estruturas de repetio so utilizadas quando o programador precisa, por exemplo, repetir o mesmo comando vrias vezes. Vamos ver as estruturas de repetio existentes.

5.4.1. WhileO while o comando de repetio (lao) mais simples. Ele testa uma condio e executa um comando, ou um bloco de comandos, at que a condio testada seja falsa. Assim como o if, o while tambm possui duas sintaxes alternativas: Sintaxes: While (condio) comando; Ou While (condio) { comandos; comandos; } Exemplo: