PHP Tutorial

Neste artigo apresentaremos dicas e um resumo geral de alguns dos principais artifícios da linguagem PHP.

PHP é uma linguagem de programação bem versátil e muito familiar a linguagem HTML. O código PHP está escrito entre as tags <?php ?>, como é mostrado na Listagem 1.

Relacionado: Introdução ao PHP
<!DOCTYPE html> <html> <body> <h1>Estamos aprendendo PHP!</h1> <?php echo "Vamos prosseguir aprendendo PHP"; ?> </body> </html>
Listagem 1. Exemplo de uso do PHP(index.php)

O arquivo index foi salvo com a extensão .php para mostrarmos ao nosso interpretador que há um código PHP a ser interpretado. Além disso, no exemplo usamos a função echo para escrever na tela uma mensagem.

Como comentar o código no PHP

Para comentarmos o nosso código PHP usamos duas barras ou # para comentários de uma linha, e para comentários de múltiplas linhas usamos /* */, o mesmo usado no CSS. Observe alguns exemplos na Listagem 2.

<?php echo "Oi, Eu serei visto na sua tela"; // Eu não! Sou apenas um comentário. echo "Oi, Eu também serei visto por você"; # Já eu não serei! echo "E eu aqui novamente na sua tela, rs"; /* Eu não aparecerei na sua tela novamente pois sou um comentário */ ?>
Listagem 2. Exemplo de comentários no PHP utilizando //, # ou /**/

Variáveis no PHP

Para criarmos uma variável basta utilizar o sinal de cifrão. Uma variável pode armazenar textos e números. Além disso, a linguagem PHP é case sensitive, então A é diferente de a. Observe um exemplo de uso de variáveis na Listagem 3.

<?php $name = "Guilherme"; $age = 20; echo $name; // Guilherme echo "</br>"; echo $age; // 20 ?>
Listagem 3. Exemplo de Variáveis

No exemplo criamos uma variável $name e declaramos a ela uma string, sendo assim precisamos colocá-la entre aspas. Já a outra variável $age é declarada como inteiro, então não é necessário o uso de aspas. Ao usarmos o comando echo nas variáveis, o resultado impresso é o conteúdo dessa variável.

Para a nomeação de variáveis, as dicas a seguir são necessárias:

Falaremos agora sobre alguns dos tipos de variáveis que existem no PHP:

<?php $a = "mundo!"; echo "Olá, $a"; // Olá, mundo! echo 'Olá, $a'; // Olá, $a ?>
Listagem 4. Exemplos de String

Note que quando declaramos no echo "Olá, $a";, o PHP interpretou o conteúdo da variável $a, pois está entre aspas duplas. E quando usamos a mesma forma, só que entre aspas simples echo 'Olá, $a';, não temos o mesmo resultado. Então quando queremos que o PHP interprete o valor de nossa variável dentro de uma string é necessário o uso de aspas duplas.

Além disso, podemos usar um ponto para concatenar strings, assim como o sinal + para o JavaScript, como mostra o código da Listagem 5.

<?php echo "Olá," . " mundo!"; //Olá, mundo! ?>
Listagem 5. Exemplo concatenação de String

Constantes no PHP

O valor de uma constante jamais poderá ser alterado enquanto estiver sendo executada e para defini-la utilizamos a função define() ou const, como mostra a Listagem 6.

<?php define("PHP", "Linguagem Open - Source"); const HTML = "Linguagem de marcação"; echo PHP; // Linguagem Open - Source echo HTML; // Linguagem de marcação ?>
Listagem 6. Exemplo de Constantes

Utilizando a função define() ou a palavra reservada const definimos que as constantes com os nomes de PHP e HTML respectivamente, com o valor: Linguagem Open – Source e Linguagem de marcação.

Arrays no PHP

Um array que mantém uma série de elementos que podem ter diferentes tipos, como mostra a Listagem 7.

Saiba mais sobre Arrays no PHP
<?php $php = array("Zend" => "CERTIFICAÇÃO", 6 => false); echo $php["Zend"]; // CERTIFICAÇÃO echo $php[6]; // 0 // Zend é nossa chave e CERTIFICAÇÃO nosso valor // 6 é nossa chave e false(0) é nosso valor ?>
Listagem 7. Exemplo de arrays

Note que nossa primeira chave se chama Zend, e a outra chama-se 6, mas quanto a nomeação de chaves de array pode ser tanto string ou um integer. Para o valor pode ser qualquer coisa.

Conversão de tipos

Os tipos de variáveis no PHP são dinâmicos. Para forçarmos os tipos de nossas variáveis utilizamos uma técnica conhecida como type casting, ou simplesmente troca de tipos. Veja na Listagem 8 alguns exemplos.

<?php $var = 100; $type_casting = (bool) $var; // torna – se booleano $type_casting = (int) $var; // torna – se inteiro $type_casting = (float) $var; // torna – se float $type_casting = (string) $var; // torna – se string $type_casting = (array) $var; // torna – se array echo $type_casting = (bool)$var; // 1 ?>
Listagem 8. Exemplo de conversão de tipos

Veja que transformamos o valor da $var, que antes era um inteiro, para um valor booleano.

Vamos conhecer agora operadores, que permitem que nós manipulemos o conteúdo de uma ou mais variáveis.

Operadores Aritméticos no PHP

Podemos utilizar operadores matemáticos para efetuar cálculos com os valores de variáveis, como mostra a Listagem 9.

<?php $a = 3; $b = 3; $c = $a * $b; // resultado é 9 $d = $a + $b; // resultado é 6 $e = $c - $d; // resultado é 3 ?>
Listagem 9. Exemplo de operadores aritméticos

Criamos as variáveis $a e $b e a partir delas conseguimos fazer vários cálculos matemáticos.

Os operadores matemáticos disponíveis em PHP são:

Lembrando que não precisamos especificar os tipos de variáveis no PHP, como nos exemplos a seguir:

<?php $a = "5"; // string echo $a + 2; // 7, integer echo $a + '5 carros'; // 10, integer ?>

Note que $a é uma string e quando demos um echo nela somando com 2, que é um inteiro, o resultado retornado foi 7. Isso demonstra que nossos tipos de variáveis em PHP são sempre dinâmicos. E na linha 4 o PHP reconhece dentro das aspas simples um numeral e com isso executa a operação matemática e exibirá o resultado 10 do tipo inteiro mas não exibindo a palavra "carros".

Operadores de Atribuição no PHP

Utilizamos os operadores de atribuição para definir variáveis e seus valores, além de usá-los juntamente com os operadores matemáticos, como mostra o exemplo da Listagem 10.

<?php $a = 1; // A variável $a é igual a 1 $a += 2; // Somamos 2 ao valor da $a; echo $a; ?>
Listagem 10. Exemplo de Operadores de Atribuição com Operadores Matemáticos

O resultado acima é 3, pois somamos 2 ao valor da $a, que é 1. Na Listagem 11 temos mais exemplos.

<?php $a -= 2; // Subtraímos 2 ao valor da variável $a; $a *= 2; // Multiplicamos o valor da variável $a por 2; $a /= 2; // Dividimos o valor da variável $a por 2. ?>
Listagem 11. Exemplo de Operadores de Atribuição com Operadores Matemáticos

A sintaxe desses operadores é a mesma do exemplo da soma, pois basta dar um echo depois de ter declarado a variável com seu respectivo operador.

Podemos também incrementar ou decrementar variáveis utilizando os operadores de incrementação, herdados da linguagem C, como nos exemplos da Listagem 12.

<?php $a = 1; echo ++$a; // Incrementamos 1 e retornamos o valor echo $a++; // Retornamos o valor e incrementamos 1 echo --$a; // Decrementamos 1 e retornamos o valor echo $a--; // Retornamos o valor e decrementamos 1 ?>
Listagem 12. Exemplo de Operadores de Atribuição - Incremento e decremento

Operadores Relacionais

Esses são usados para comparar valores ou expressões, retornando um valor booleano (true ou false):

É importante lembrar que == não checa o tipo da variável, apenas seu valor. Já o === checa tanto o valor da variável quanto o seu tipo.

Operadores Lógicos

Existem também os operadores lógicos para a criação de testes condicionais:

Estrutura de Decisão if/else

A condição é avaliada para que, caso algo seja verdadeiro, faça isto, senão, faça aquilo, como mostra a Listagem 13.

<?php $idade = 17; if($idade < 18) { echo 'Você não pode entrar aqui!'; } else { echo 'Seja bem – vindo'; } ?>
Listagem 13. Exemplo do uso das estruturas de decisão if/else

Podemos também utilizar os operadores lógicos junto dos operadores relacionais, como mostra a Listagem 14.

<?php $idade = 21; $identidade = true; if($idade > 18 && $identidade == true) { echo 'Seja bem-vindo!'; } ?>
Listagem 14. Exemplo do uso de Operadores lógicos com Operadores relacionais

Estruturas de Decisão (elseif/switch)

Podemos utilizar a estrutura ELSEIF quando criamos uma outra condição, além da principal, como mostra o exemplo da Listagem 15.

<?php $nome = 'Till Lindemann'; if($nome == 'Richard Kruspe') { echo 'E ae Richard Kruspe!'; } elseif ($nome == 'Oliver Riedel') { echo 'E ae Oliver Riedel!'; } elseif ($nome == 'Till Lindemann') { echo 'E ae Till Lindemann!'; } else { echo "E ae $nome!"; } ?>
Listagem 15. Exemplo ELSEIF

Declaramos para $nome uma string e depois fizemos várias condições, onde caso não caia em nenhum elseif, será retornado o valor que estiver dentro da $nome.

O ELSEIF pode ser muito útil, mas o mesmo é aconselhável usar apenas quando temos poucas condições. Caso contrário, para não manter um código cheio de ELSEIF's, o mais indicado é usar o SWITCH, que permite criarmos infinitas condições de forma organizada. Veja na Listagem 16.

<?php $nome = 'Fulano'; switch($nome) { case 'Fulano': echo 'E ai Fulano!'; break; case 'Sicrano': echo 'E ai Sicrano!'; break; case 'Beltrano': echo 'E ai Beltrano!'; break; default: echo 'Qual é o seu nome?'; break; } // Resultado é: E ai Fulano! ?>
Listagem 16 . Exemplo SWITCH

No exemplo foi criada $nome declarando a ela uma string. É verificado a variável passada em switch entre parênteses: caso o valor contido na variável seja o que estiver em "case", será impresso o que conter no echo já pré-definido, e o break para a verificação. Caso não seja na primeira condição, será verificado todas as demais condições até chegar na última, que perguntará o seu nome. Na sintaxe básica do Switch atente-se sempre ao “:” no case e os “;” depois do echo e break.

Operador Ternário no PHP

No PHP existe uma forma mais curta de criar condições através do Operador Ternário, como mostra a Listagem 17.

<?php $number1 = 1; $number2 = 2; if($number2 > $number1) { $a = 'Número 2 é maior que número 1'; } else { $b = 'Número 2 não é maior que número 1'; } $ternario = ($number2 > $number1) ? 'Número 2 é maior que número 1' : 'Número 2 não é maior que número 1'; echo $ternario; // Número 2 é maior que número 1 ?>
Listagem 17. Utilizando Operador Ternário

Criamos duas variáveis e a partir delas fizemos verificação com if/else e da forma ternária também. Na $ternario passamos a condição que tem o mesmo valor que o if entre parênteses e o ponto de interrogação faz a pergunta: $number2 é maior $number1?

Caso seja, será impresso o que vier depois desse ponto. Caso $number2 não seja maior que $number1, será impresso o que estiver depois dos “:” que tem o mesmo valor que else. Sendo assim, podemos comparar qual forma é mais simples com esses dois exemplos.

Arrays Associativos

Quando criamos um array, por padrão, ele recebe chaves numéricas incrementadas automaticamente de acordo com novos valores. Contudo, podemos criar chaves que são strings, daí chamamos de array associativo. Para explicar melhor, faremos um exemplo em que mostraremos a temperatura média de alguns meses do ano, como mostra a Listagem 18.

<?php $estacao = array('Verao' => 'de 21 de dezembro a 21 de março', 'Outono' => 'de 21 de março a 21 de junho', 'Inverno' => 'de 21 de junho a 23 de setembro', 'Primavera' => 'de 23 de setembro a 21 de dezembro'); ?>
Listagem 18. Arrays Associativos

Observem que nossos valores agora possuem nomes. Podemos utilizar estes nomes para nos referenciarmos a um valor especifico dentro de um array. Veja como fica na prática o exemplo:

<?php $estacao = array('Verao' => 'de 21 de dezembro a 21 de março', 'Outono' => 'de 21 de março a 21 de junho', 'Inverno' => 'de 21 de junho a 23 de setembro', 'Primavera' => 'de 23 de setembro a 21 de dezembro'); echo "A estação Verão foi: {$estacao['Verao']}"; // A estação Verão foi: de 21 de dezembro a 21 de março ?>

Como sabemos, a sintaxe de um array é chave => valor. Note que demos um echo assim: {$estacao['Verao']}, onde $estacao contém um array que tem uma chave chamada Verao e contém o valor: de 21 de dezembro a 21 de março. Sendo assim, será impresso o valor da chave especificada.

Existem maneiras diferentes de utilizar variáveis dentro de strings e vice-versa, concatenadas ou não concatenadas, como mostra a Listagem 19.

<?php $ensino = 'EAD'; $formacao = array('PHP' => 'Desenvolvedor PHP', 'Infra' => 'SysAdmin Linux'); // Não concatenadas echo "<p>No $ensino da DevMedia você se torna {$formacao['PHP']}"; echo " e pode se tornar também {$formacao['Infra']}.</p>"; // Concatenadas echo '<p>No ' . $ensino . ' da DevMedia você se torna ' . $formacao['PHP']; echo ' e pode se tornar também '. $formacao['Infra'] . '.</p>'; ?>
Listagem 17. Variáveis dentro de strings

No exemplo o resultado será o mesmo, apenas mostramos a utilização de uma variável e um array com concatenação ou não concatenado para mostrar seus valores. Tente usar sempre a forma não concatenada: você pode notar que nosso código ficou bem mais limpo.

Arrays Multidimensionais

Arrays multidimensionais são, basicamente, array dentro de um array, como mostra a Listagem 20.

<?php $temp = array( '2010' => array( 'Outubro' => 25, 'Novembro' => 23, 'Dezembro' => 20), '2011' => array( 'Outubro' => 26, 'Novembro' => 22, 'Dezembro' => 21), '2012' => array( 'Outubro' => 27, 'Novembro' => 28, 'Dezembro' => 19) ); echo "Dezembro de 2012 foi de: {$temp['2012']['Dezembro']} graus"; // Dezembro de 2012 foi de: 19 graus ?>
Listagem 20. Arrays Multidimensionais

Veja que criamos a $temp que guarda um array. Em nosso exemplo, o array com o nome de 2010 guarda os valores Outubro, Novembro e Dezembro em um outro array, que por sua vez, guarda outros valores, que são a temperatura. Veja que demos um echo em {$temp['2012']['Dezembro']} onde $temp guarda um array 2012 e inicia um outro array que contém a chave dezembro e que tem o valor que queremos.

Criando Arrays de uma forma alternativa

Podemos criar arrays de uma forma simples e rápida utilizando o operador [ ], como mostra a Listagem 21.

<?php $number1 = array(100, 101, 102); $number1[] = 103; $number2[] = 104; print_r($number1); echo '<hr/>'; print_r($number2); ?>
Listagem 21. Criando Arrays de forma alternativa

Através dos colchetes conseguimos acrescentar dados a um array. No caso da $number1 temos um array com os valores 100, 101, 102. Quando declaramos $number1[] = 103; estamos dizendo que queremos acrescentar no array $number1 o valor 103.

Podemos também alterar os valores de um array usando colchetes, como no código da Listagem 22.

<?php $cert = array('EAD' => 'Você terá um certificado ', 'PHP' => 'Linux'); $cert['PHP'] = 'Zend'; print_r($cert); ?>
Listagem 22. Alterando o valor de arrays com colchetes

Temos a $cert que contém um array com chave => valor. Quando dizemos $cert['PHP'] = 'Zend', estamos dizendo para o PHP que queremos alterar o valor da chave PHP para Zend.

Laços de Repetição

Os loops no PHP são estruturas de controle muitos importantes que permitem efetuar um laço de repetição enquanto uma determinada condição for verdadeira.

Existem quatro tipos de loop no PHP são eles: while, do while, for e foreach.

While

O while permite que executemos um bloco de código enquanto a expressão passada como parâmetro for verdadeira, como mostra a Listagem 23.

<?php $num = 0; while($num < 10 ) { echo $num++; } // 0123456789 ?>
Listagem 23. Exemplo while

Declaramos a $num o valor 0. Nossa expressão no while então incrementa a essa variável enquanto $num for menor que 10.

Do while

O do while tem a mesma ideia que o while: a diferença é que ele avalia a expressão depois de executar algo. Com isso, será garantido que o código será executado mesmo que a expressão seja falsa, como mostra o exemplo da Listagem 24.

<?php $cont = 2000; do{ $dobro = $cont + $cont; echo "O dobro de $cont é $dobro"; $cont++; } while ($cont <= 1999); ?>
Listagem 24. Exemplo Do while

A sintaxe básica do DO WHILE é primeiro executar o que colocamos entre as chaves do DO.

FOR

O for é igual ao while e ao do while, permitindo que executemos três operações em sua condição, separadas por ponto e vírgula.

A primeira é executada ao início do loop, a segunda é a condição (enquanto ela for verdadeira, o loop continuará), e a terceira é executada ao fim de cada repetição, como mostra o exemplo da Listagem 25.

<?php for($a = 1; $a <= 10; $a++){ $cubo = $a * $a * $a; echo "O cubo de $a é $cubo<br />"; } ?>
Listagem 25. Exemplo For

Entre parênteses temos $a que guarda 1. Depois verificamos se $a for menor ou igual a 10 e, por último, incrementamos $a. Dentro das chaves do FOR criamos uma variável que traz o cubo de $a para nós e quando demos um echo será mostrado o cubo dos números de 1 a 10.

Foreach

O Foreach faz o mesmo que as demais estruturas já apresentadas, porém, com ela podemos trabalhar com arrays, como mostra o exemplo da Listagem 26.

<?php $ead = array('Aqui na DevMedia ', 'você se torna um ', 'desenvolvedor PHP'); foreach($ead as $can){ echo "$can"; } //Aqui na DevMedia você se torna um desenvolvedor PHP ?>
Listagem 26. Usando FOREACH

No exemplo é criado um array e depois usamos o foreach para ir nesse array e repetir tudo o que conter nele. A sintaxe do foreach é mostrada entre parênteses onde colocamos o nome de nossa variável, e com o termo as alteramos o nome dela para $can. Depois, basta dar um echo que tudo que conter em nosso array será mostrado.

Na Listagem 27 utilizamos o loop em um array que contém chave =>valor.

<?php $temp = array('Outubro' => 27, 'Novembro' => 28, 'Dezembro' => 19); foreach($temp as $chave => $valor) { echo "A temperatura média de $chave foi de $valor graus<br />"; } ?>
Listagem 27. Loop em array

Quando formos utilizar o foreach em um array que contém chave e valor é necessário a sintaxe que vemos entre parênteses.

Assim como temos os arrays multidimensionais, assim também temos foreachs multidimensionais, que são foreachs dentro de foreachs, como mostra o exemplo da Listagem 28.

<?php $temp = array( '2010' => array( 'Outubro' => 25, 'Novembro' => 23, 'Dezembro' => 20), '2011' => array( 'Outubro' => 26, 'Novembro' => 22, 'Dezembro' => 21), '2012' => array( 'Outubro' => 27, 'Novembro' => 28, 'Dezembro' => 19) ); foreach($temp as $ano => $meses){ echo "Temperaturas em $ano<br />"; foreach($meses as $mes => $temp) { echo "$mes: $temp graus<br />"; } } ?>
Listagem 28. Uso do foreach com array multidimensional

Veja que criamos um array e dentro dele vários outros arrays que guardam temperaturas de meses de um determinado ano. Quando utilizamos o foreach mostraremos o ano da temperatura e quantos graus no mês especificado.

Quebrando loops

Enquanto estamos dentro de um loop, podemos utilizar duas instruções: continue e break. Elas permitem que nós quebremos os laços de repetição.

Veja na Listagem 29 um exemplo da Continue.

<?php for($a = 1; $a <= 10; $a++){ if($a == 3) { continue; } $cubo = $a * $a * $a; echo "O cubo de $a é $cubo<br />"; } //O cubo de 1 é 1 //O cubo de 2 é 8 //O cubo de 4 é 64 //O cubo de 5 é 125 //O cubo de 6 é 216 //O cubo de 7 é 343 //O cubo de 8 é 512 //O cubo de 9 é 729 //O cubo de 10 é 1000 ?>
Listagem 29. Exemplo Continue

Note que não aparece o cubo de 3, pois fizemos a seguinte verificação: if($a == 3) {continue;}.

Na Listagem 30 vemos um exemplo da instrução Break.

<?php for($a = 1; $a <= 10; $a++){ if($a == 3) { break; } $cubo = $a * $a * $a; echo "O cubo de $a é $cubo<br />"; } //O cubo de 1 é 1 //O cubo de 2 é 8 ?>
Listagem 30. Exemplo Break

O break para o loop, então veja que só é mostrado o cubo de 1 e 2. Isso porque colocamos a verificação if($a == 3) {break;}, ou seja, chegou no 2 e deu um break.

Links Úteis

  • O que é PHP?:
    O PHP (um acrônimo recursivo para PHP: Hypertext Preprocessor) é uma linguagem de script open source de uso geral, muito utilizada, e especialmente adequada para o desenvolvimento web e que pode ser embutida dentro do HTML.
  • Wiki PHP:
    PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page) é uma linguagem interpretada livre, usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web.
  • Curso de PHP para Iniciantes:
    Neste curso de PHP para iniciantes veremos os princípios de desenvolvimento, como funções nativas do PHP, estruturas de controle, variáveis, orientação a objetos e acesso a banco de dados, sempre utilizando exemplos para explicar cada item.

Saiba mais sobre PHP ;)

  • PHP: Utilizando os operadores break e continue:
    Aqui apresentamos as estruturas de controle break e continue. Com elas podemos interromper uma estrutura de repetição ou mover o cursor para a próxima iteração.
  • Documentação: PHP: Modificadores de acesso:
    Neste documento você encontrará o conteúdo que precisa para aprender o que são e para que servem os modificadores de acesso na linguagem PHP.
  • Linguagem PHP:
    Neste Guia de Consulta você encontrará todo o conteúdo que precisa para aprender PHP, uma linguagem de programação amplamente utilizada para a construção de aplicações web.

Artigos relacionados