junaooaks 3 Denunciar post Postado Março 12, 2007 o conteudo foi retirado do site: http://www.lsd.ic.unicamp.br/projetos/e-la...chaptertwo.html indice Ap�strofes e aspas Operadores Operadores Aritm�ticos Operadores de Atribui��o Operadores de compara��o Operadores L�gicos Operadores de string Operadores de Arrays Vari�veis Arrays Estruturas de controle if else elseif while do...while for foreach switch break Fun��es Criando fun��es Escopo Passando por par�metro Retornando valores Resumo A sintaxe do PHP � uma miscel�nea de v�rias linguagens de programa��o consagradas, como C e Java. Para quem j� tem conhecimentos em alguma dessas linguagens, o entendimento desse cap�tulo torna-se mais f�cil. Abaixo segue uma pequena introdu��o sobre o b�sico da sintaxe do PHP. Ap�strofes e aspas No PHP, um valor pode ser atribu�do � uma string usando-se aspas ("string") ou ap�strofes ('string'). Caso s� existam caracteres normais dentro da string, o efeito ser� o exatamente o mesmo, independentemente do uso de aspas ou ap�strofes. Por�m, quando se usa vari�veis dentro de strings, o efeito � completamente diferente. As aspas permitem que voc� insira o valor de vari�veis dentro de strings sem precisar fazer concatena��o, j� as ap�strofes n�o. Perceba: <?php $nome = 'Jo�o'; echo "Ol�, meu nome � $nome !"; // O resultado � 'Ol�, meu nome � Jo�o !' echo 'Ol�, meu nome � $nome !'; // O resultado � 'Ol�, meu nome � $nome !' echo 'Ol�, meu nome � '. $nome . ' !'; // O resultado � 'Ol�, meu nome � Jo�o !' ?> Dica echo: � a principal fun��o para exibir dados no arquivo de sa�da (o HTML, no caso). Operadores Operadores Aritm�ticos Exemplo Nome Resultado $a + b Adi��o Soma de $a e $b $a - $b Subtra��o Diferen�a entre $a e $b $a * $b Multiplica��o Produto de $a e $b $a / $b Divis�o Quociente de $a e $b $a % $b M�dulo Resto da divis�o de $a e $b Operadores de Atribui��o O operador b�sico de atribui��o � o "=", que significa "recebe" e n�o "igual", como pode parecer. <?php $a = '3'; echo $a // retorna 3 ?> � importante mencionar que existem tamb�m os operadores combinados, que s�o o operador de atribui��o mais um operador aritm�tico. <?php $a =+ 5; // � a mesma coisa que $a = $a + 5; ?> Operadores de compara��o Exemplo Nome Resultado $a == $b Igual Verdadeiro se $a � igual a $b $a === $b Id�ntico Verdadeiro se $a � igual a $b e eles s�o do mesmo tipo (PHP4) $a != $b Diferente Verdadeiro se $a � diferente de $b $a <> $b Diferente Verdadeiro se $a � diferente de $b $a !== $b N�o id�ntico Verdadeiro se $a � diferente de $b, ou se eles n�o s�o do mesmo tipo (PHP4) $a < $b Menor Verdadeiro se $a � menor que $b $a > $b Maior Verdadeiro se $a � maior que $b $a <= $b Menor ou igual Verdadeiro se $a � menor ou igual a $b $a >= $b Maior ou igual Verdadeiro se $a � maior ou igual a $b Operadores L�gicos Exemplo Nome Resultado $a and $b e Verdadeiro quando $a e $b s�o verdadeiros $a or $b ou Verdadeiro se $a ou $b s�o verdadeiros $a xor $b xor Verdadeiro se $a ou $b s�o verdadeiros, mas n�o ambos !$a n�o Verdadeiro se $a � falso $a && $b e Verdadeiro quando $a e $b s�o verdadeiros $a || $b ou Verdadeiro se $a ou $b s�o verdadeiros Operadores de string Existem apenas 2 operadores de string. O de concatena��o (".") e o de atribui��o de concatena��o (".="). Eles funcionam assim: <?php $a = 'Meu nome � '; $a .= 'Jos�'; // a mesma coisa que $a = $a . 'Jos�'; ?> Operadores de Arrays Exemplo Nome Resultado $a + $b Uni�o Uni�o de $a e $b $a == $b Igualdade Verdadeiro se $a e $b tem os mesmos elementos $a === $b Identidade Verdadeiro se $a e $b tem os mesmos elementos e eles est�o na mesma ordem $a != $b Desigualdade Verdadeiro se $a e $b n�o tiverem os mesmos elementos $a <> $b Desigualdade Verdadeiro se $a e $b n�o tiverem os mesmos elementos $a !== $b N�o id�ntico Verdadeiro se $a e $b n�o possuem os mesmos elementos na mesma ordem Vari�veis Como a maioria das linguagens de scripts de servidor, o PHP n�o � fortemente tipado; ou seja, as vari�veis n�o possuem tipos definidos e restritos, como ocorre em Pascal, Java, Delphi etc. Tamb�m n�o � preciso fazer a declara��o das vari�veis; assim que atribu�mos algum valor a uma vari�vel, ela passa a existir automaticamente. Por um lado isso � bom, pois voc� n�o precisa ficar se preocupando com declarar vari�veis e atribuir tipos a elas. Por outro lado � ruim pois voc� pode "perder o controle" das vari�veis dentro de seu script (caso elas sejam muitas); al�m disso, perde-se bastante performance com linguagens n�o tipadas, pois o parser (ou interpretador) precisa perder tempo para "descobrir" qual o tipo da vari�vel. Tamb�m � importante lembar que o PHP � case-sensitive, ou seja, ele disting�e letras mai�sculas de letras min�sculas. Poranto, $nome � diferente de $Nome <?php $carro = 'Fiat Stilo'; $Carro = 'VW Golf'; echo $carro; // retorna 'Fiat Stilo' echo $Carro; // retorna 'VW Golf' ?> Arrays Arrays s�o os conhecidos vetores. Eles guardam v�rias informa��es em apenas uma vari�vel. Para indexar um array no PHP, usamos as chaves [ ]. Como em C, os arrays n�mericos tem o zero como o primeiro �ncice. Dessa maneira, temos algo assim: <?php $frutas = array('ma��','banana','abacate'); echo $frutas[1]; // retorna 'banana' ?> No PHP existem dois tipos de arrays, os num�ricos e os associativos. Os num�ricos possuem n�meros inteiros como chaves (�ndice); j� os associativos possuem strings como chaves. <?php // Array num�rico $frutas = array('ma��','banana','abacate'); echo $frutas[2]; // retorna 'abacate' // Array associativo $frutas = array("a" =>; 'ma�a', "b" => 'banana', "c" => 'abacate'); echo $frutas['a']; // retorna 'ma��' // Nada nos impede de misturar os dois tipos $ frutas = array('ma��', "preferida" => 'banana'); echo $frutas['preferida']; // retorna 'banana' // Array dentro de array $frutas = array("vermelhas" => array('morango','cereja',framboesa)); echo $frutas['vermelhas'][0]; // retorna 'morango' ?> Estruturas de controle Resumo Em um programa de computador, existe o fluxo do c�digo fonte, que � o modo como o computador executa determinadas cadeias de comandos, de acordo com teste bin�rios e coisas do tipo. Estruturas de controle servem para controlar esse fluxo, por�m, no nosso caso, n�o exatamente em um programa e sim em seu site PHP. Abaixo segue uma breve explica��o sobre a sintaxe das estruturas de controle que encontramos no PHP: if if ($expressao) { comandos } O fluxo do programa somente executa os comandos que est�o dentro do if caso o resultado da $expressao seja verdadeiro (true). <?php if ($a == $B) { echo 'A � igual a B'; } ?> else if ($expressao) { comandos } else { outros comandos } Caso o resultado de $expressao seja falso, ent�o o fluxo entra no else e executa os "outros comandos". <?php if ($a == $B) { echo 'A � igual a B'; } else { echo 'A � diferente de B'; } ?> elseif if ($expressao) { comandos } elseif ($outros_expressao) { outros comandos } Caso uma express�o de um if seja falsa, voc� pode fazer outra compara��o antes de entrar nos comandos do else. <?php if ($a > $B) { echo "A � maior que B"; } elseif ($a == $B) { echo "A � igual a B"; } else { echo "A � menor que B"; } ?> while while ($expressao) { comandos } While, do ingl�s, significa "enquanto". A estrutura de controle while executa os comandos nela aninhados enquanto uma express�o for veradeira. <?php $a = 1; while ($a <= 10) { echo $a; $a++; // mesma coisa que $a = $a + 1 // Os camandos que est�o dentro do while ser�o executados // enquanto a vari�vel $a for menor ou igual a 10. // No exemplo acima, ser�o exibidos todos os n�meros inteiros // at� o n�mero 10. Assim que $a for maior que 10, o fluxo // de execu��o sai do while. } ?> do...while do { comandos } while ($expressao) A estrutura do...while faz a mesma coisa que o while, por�m a verifica��o da $expressao � feita ap�s os comandos e n�o antes, garantindo que o fluxo de execu��o entre no while ao menos uma vez, mesmo se na primeira repeti��o o resultado da $expressao seja falso. <?php $a = 5; do { echo $a; } while ($a > 5); ?> for for ($expr1; $expr2; expr3) { comandos } As estruturas de for s�o um pouco mais complicadas que as outras (funcionam da mesma maneira que na linguagem C). A $expr1 � executada apenas na primeira vez da repeti��o, por isso cont�m o primeiro valor da chave de compara��o, normalmente. A $expr2 � executada em toda repeti��o e caso o resultado seja false, o fluxo sai do for. A $expr3 � executada ao final de toda repeti��o. <?php for ($a = 1;$a < 10; $a++) { echo $a; } // Quando o fluxo de execu��o entra no for acima, a vari�vel // $a recebe o valor 1. Enquanto $a for menor que 10, o // fluxo continua dentro do for (essa verifica��o � executada // sempre no come�o da repeti��o). Quando os comandos aninhados // ao for acabam, a vari�vel $a recebe $a + 1, devido a // terceira express�o da estrutura for ($a++). ?> foreach foreach ($array as $valor) { comandos } foreach ($array as $chave => $valor) { comandos } O foreach � uma maneira f�cil de andar dentro de um array. O que ele faz � repetir comandos enquanto existirem elementos dentro de um array. Existem duas sintaxes para usar o foreach, cada uma gerando um resultado diferente. <?php $frutas = array('banana','ma�a','mam�o','manga'); // O fluxo de execu��o executar� repetir� os comandos aninhados ao // foreach at� acabarem os valores do array $frutas. A cada // repeti��o o valor atual � atribu�do a vari�vel $valor foreach($frutas as $valor) { echo $valor; // � exibida um dos valores de $frutas a cada repeti��o } // Essa sintaxe do foreach faz a mesma coisa que a sintaxe acima, // por�m ela atribui o valor da chava atual � variavel $chave // (al�m do valor atual � vari�vel $valor). foreach($frutas as $chave => $valor) { echo $chave . '-' . $valor; // retorna algo como '2 - mam�o' a cada repeti��o } ?> switch switch ($expressao) { case x : comandos; break; case y : comandos; break; ... } Um switch testa v�rios valores para uma mesma $expressao e executa comandos de acordo com esses valores. Substitui o uso de v�rios ifs. <?php // Note que o break faz parte da sintaxe e � necess�rio para que o // switch funcione como deve. switch ($a) { case 0 : echo 'a � igual a zero'; break; case 1 : echo 'a � igual a um'; break; case 2 : echo 'a � igual a dois' break; } // O switch acima � equivalente a essa cadeia de ifs if ($a == 0) echo 'a � igual a zero'; elseif($a == 1) echo 'a � igual a um'; elseif($a == 2) echo 'a � igual a dois' ?> Dica Nota: switchs s�o mais r�pidos que v�rios ifs aninhados. break O comando break p�ra a execu��o do for,foreach,while,do...while ou switch atual. <?php while ($a < 10) { $a = $a * $b; if ($a <= -1) break; } ?> Fun��es Resumo Como em qualquer outra linguagem de programa��o, o PHP possibilita a cria��o de fun��es (e procedimentos, caso voc� esteja familiarizado com Pascal). As fun��es s�o muito �teis para a vida do programador, pois ajudam a diminuir a repeti��o desnecess�ria de c�digo e tamb�m a tornar o c�digo mais f�cil de entender. Criando fun��es A sintaxe de uma fun��o no PHP � muito simples. function nome_da_fun��o (par�metros da fun��o) { } Escopo Vale lembrar que uma fun��o s� tem acesso �s vari�veis criadas dentro dela, �s vari�veis passadas por par�metro e �s vari�veis superglobais. Caso voc� queira usar uma vari�vel global que foi criada dentro de seu script, basta usar a palavra global antes do nome da vari�vel. <?php function teste() { global $a; // chama a global $a, criada fora da fun��o echo $a; // retorna 'Ol� !!!' } $a = 'Ol� !!!'; teste(); // Executa a fun��o teste() ?> Passando por par�metro Para evitar o uso de vari�veis globais, podemos passar por par�metro aquelas vari�veis que precisaremos usar dentro da fun��o. Assim: <?php function teste($a) { echo $a; // retorna 'Ol� !!!' } $a = 'Ol� !!!'; teste($a); ?> Passagem de par�metro por refer�ncia Para passar um par�metro por refer�ncia, usamos o caracter & antes do recebimento do mesmo. Quando a passagem de par�metro � feita por refer�ncia, qualquer altera��o que seja feita dentro da fun��o � refletida fora da fun��o, na vari�vel original. <?php function teste(&$B) { $b = 'Tchau... :-('; } $a = 'Ol� !!!'; echo $a; // Retorna 'Ol� !!!' teste($a); echo $a; // Retorna 'Tchau... :-(' ?> Retornando valores Assim como uma vari�vel qualquer n�o pode ser acessada por uma fun��o (a n�o ser pelas exce��es citadas acima), o contr�rio tamb�m acontece; vari�veis de dentro da fun��o s� podem ser acessadas pela fun��o. Caso queiramos utilizar valores de uma vari�vel que foi criada dentro de uma fun��o, preicsamos usar a fun��o return. <?php function teste() { $a = 7; } teste(); echo $a; // N�o retorna nada ?> <?php function teste() { $a = 7; return $a; } $a = teste(); echo $a; // Retorna 7 ?> Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Março 12, 2007 Qual sua duvida? Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Março 12, 2007 Ficava melhor se postasse apenas o link. Fabyo: é uma dica. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Março 12, 2007 beleza vou mover para dicas Compartilhar este post Link para o post Compartilhar em outros sites