Curso de PHP – Declaração e atribuição de Variáveis

Declarando e usando Variáveis em PHP

Uma variável é uma área na memória RAM de um computador que é reservada para armazenar dados de programas em uso. Seu conteúdo é destruído após a execução do programa.

Definimos uma variável no PHP usando a sintaxe a seguir:

$nome_da_variável = valor_da_variavel;

O sinal $ sempre precede o nome escolhido para a variável, tanto na declaração quanto ao atribuirmos valores ou lermos o conteúdo da variável. Logo após esse caractere podemos usar apenas letras ou o sinal de underline (_). Os demais caracteres devem seguir as regras abaixo:

  • Podem ser caracteres alfanuméricos (letras e números, além do subscrito / underscore).
  • O primeiro caractere deve obrigatoriamente ser uma letra ou o símbolo de underscore.
  • Não pode haver espaços em nomes de variáveis compostos – use um underline para ligar as palavras ou use a notação CamelCase (palavras unidas, sem espaços, iniciadas com letras maiúsculas)
  • As variáveis no PHP são case-sensitive, ou seja, fazem distinção entre letras maiúsculas e minúsculas. Fique atento a esse detalhe, pois isso é fonte constante de erros!
  • Sempre crie nomes de variáveis significativos, que permitam transmitir uma idéia precisa sobre o conteúdo que a variável armazena.

Vamos declarar uma variável e atribuir um valor a ela. Criaremos a variável nome e atribuiremos a ela a string Fábio. Com o comando echo podemos visualizar no browser o valor contido na variável:

<?php
  $nome = "Fábio";
  echo $nome;
?>

A variável $nome foi criada e recebeu uma string como valor. Portanto, ela será do tipo string. Não é necessário especificar o tipo da variável no PHP, pois se trata de uma linguagem fracamente tipada. O PHP seleciona o tipo da variável baseado no tipo do dado atribuído a ela. Além disso, uma variável pode receber um valor diretamente, como no exemplo anterior, receber uma cópia do conteúdo de outra variável, ou ainda referenciar outra variável (atribuição por referência).

Escopo das Variáveis

O escopo de uma variável do respeito ao alcance dessa variável no programa, o que significa que o escopo define onde (contexto) a variável é visível ou acessível no script. O escopo varia de acordo com o local onde a variável foi criada.

As variáveis podem ser locais ou globais.

Variáveis locais

São as variáveis criadas dentro de funções e que só podem ser referenciadas por comandos que se encontram dentro dessa mesma função. Não são válidas fora da função onde foram criadas, e são destruídas assim que a função é encerrada.

Variáveis Globais

Uma variável global pode ser acessada em qualquer parte do programa, dentro e fora das funções. Para criar uma variável global usamos a palavra reservada global antes do nome da variável durante sua declaração.

Veja o exemplo a seguir, onde criamos uma variável global dentro de uma função e a utilizamos fora da função:

<?php
function quadrado() {
   global $numero;
   $numero = $numero * $numero;
}
$numero = 3;
quadrado();
echo “O número ao quadrado é $numero”;
?>

Variáveis Globais em PHP

Variáveis estáticas

Uma variável estática somente existe dentro do escopo de uma função, e não é destruída quando a função é encerrada – seu valor não é perdido. Podemos utilizá-la novamente ao chamar a mesma função, e ela ainda possuirá o valor que tinha anteriormente. As variáveis estáticas são visíveis apenas no escopo onde foram criadas.

Para criar uma variável estática usamos a palavra chave static antes do nome da variável em sua declaração.

Vejamos um exemplo.

<?php
function incremento() {
   static $num = 0;
   $num= $num + 1;
   echo "o valor é $num <br />";
}
incremento();
incremento();
incremento();
?>

Note que cada vez que chamamos a função incremento(), o valor mostrado no navegador é incrementado em 1. Veja a saída abaixo:

Variáveis Estáticas em PHP

Experimente tirar a palavra “static” da frente da variável $num, e execute novamente o script. O que mudou? Por quê?

Variáveis Superglobais

O PHP possui algumas variáveis especiais chamadas de variáveis superglobais que permitem fornecer informações sobre o ambiente do script. Essas variáveis não precisam ser declaradas, pois estão disponíveis automaticamente.

As variáveis super globais são definidas em arrays, que são coleções especiais de valores, os quais estudaremos em uma aula posterior. A tabela a seguir mostra as principais variáveis super globais do PHP:

Nome da variável super global Conteúdo da variável
$_SERVER Possui informações sobre o ambiente do servidor web.
$_GET Possui informações sobre as requisições GET (formulários) – variáveis enviadas pelo método GET
$_POST Possui informações sobre as requisições POST (outro formulário) – variáveis enviadas pelo método POST
$_COOKIE Contem informações sobre cookies HTTP, gravados na máquina do usuário
$_FILES Possui informações de uploads de arquivos POST, como fotos ou documentos enviados por um formulário.
$_ENV Contem informações sobre ambientes de script
$_REQUEST Possui informações de entradas de usuários. Possui o conteúdo de $_GET, $_POST e $_COOKIES juntos
$_SESSION Possui informações sobre variáveis registradas na sessão atual.
$GLOBALS Retorna um array associativo que referencia todas as variáveis disponíveis no escopo global do script.
PHP_SELF Contém o nome do script em execução
DOCUMENT_ROOT O Diretório Raiz do script em execução

Vejamos um exemplo de uso de variáveis super globais.

<?php
   echo "O nome deste arquivo é " . $_SERVER['PHP_SELF'] . "<br/>";
   echo "A pasta onde este arquivo se encontra é " . $_SERVER['DOCUMENT_ROOT'];
?>

Neste comando usamos a variável superglobal $_SERVER e pedimos para exibir no navegador o conteúdo das variáveis PHP_SELF e DOCUMENT_ROOT, contidas nela.

Ao longo do curso iremos referenciar essas variáveis globais e entraremos em maiores detalhes sobre cada uma conforme seja necessário.

Variáveis Dinâmicas

a linguagem PHP nos oferece uma categoria muito interessante de variáveis, chamadas de Variáveis Dinâmicas, que são variáveis cujos nomes podem mudar, dependendo do conteúdo de outra variável.. Para declararmos uma variável dinâmica devemos preceder seu nome com dois cifrões ($$), e o PHP irá referenciar o conteúdo dessa variável como sendo uma nova variável.

Exemplo:

<?php
// Declaramos uma variável chamada $var e atribuímos a string “nome” a ela
$var = "nome";
/* Usando $$ criamos uma variável dinâmica, de modo que o conteúdo de $var seja o nome da variável (será $nome), e seja atribuído a essa variável a string “Fábio”.*/
$$var = "Fábio";
// Exibimos no navegador o conteúdo das variáveis $nome e $var:
echo "O nome armazenado é $nome <br/>";
echo "E o conteúdo de var é $var";
?>

Referenciando variáveis

Podemos criar uma referência entre variáveis, ou seja, fazer com que duas variáveis distintas apontem para a mesma área de memória onde dados são armazenados. Isso é diferente de copiar o conteúdo de uma variável para outro, pois realizarmos essa atribuição por referência, ao alterarmos o conteúdo de uma das variáveis automaticamente teremos o conteúdo alterado aparecendo na outra também.

Para atribuir um valor por referência a uma variável, devemos preceder o nome da variável com o símbolo &. Veja o exemplo a seguir:

Exemplo:

<?php
   $x = 50;
   $y = $x;
   $z = &$x;
   // Alterando o valor de x:
   $x = 80;
   // Verificando o conteúdo das variáveis:
   echo "x vale $x <br/>";
   echo "y vale $y <br/>";
   echo "z vale $z <br/>";
?>

Atribuímos o valor 50 à variável $x, e depois atribuímos $X às variáveis $y e $z, porém de duas formas distintas: atribuição comum a $y (cópia de valores) e atribuição por referência a $z (referência de endereços).

Após alterarmos o valor de $x para 80, o valor de $y permanece o mesmo (50), e o valor de $z também passa a ser 80, pois aponta para a mesma área de memória que $x. Veja o resultado abaixo:

Atribuição de Variáveis por Referência no PHP

 

Sobre Fábio dos Reis (1324 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

2 Comentários em Curso de PHP – Declaração e atribuição de Variáveis

  1. Bruno Lima // 24/11/2015 em 15:55 // Responder

    Bem explicado, me ajudou muito.

Escreva um comentário

Seu e-mail não será divulgado


*