Variáveis PHP

As variáveis são recipientes de informações:

Exemplo

<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>

Exemplo de execução

Como na álgebra

x=5
y=6
z=x+y

Na álgebra, usamos letras (por exemplo, x) para armazenar valores (por exemplo, 5).

A partir da expressão z=x+y, podemos calcular que o valor de z é 11.

Em PHP, esses três caracteres são chamados deVariável.

Comentário:Considere as variáveis como recipientes de dados.

Variáveis PHP

Como na álgebra, as variáveis PHP podem ser usadas para armazenar valores (x=5) e expressões (z=x+y).

O nome da variável pode ser curto (por exemplo, x e y), ou mais descritivo (por exemplo, carname, total_volume).

Regras das variáveis PHP:

  • As variáveis começam com o símbolo $, seguido do nome da variável
  • O nome da variável deve começar com uma letra ou sublinhado
  • Os nomes das variáveis não podem começar com um número
  • Os nomes das variáveis podem conter apenas caracteres alfanuméricos e sublinhados (A-z, 0-9 e _)
  • Os nomes das variáveis são sensíveis a maiúsculas e minúsculas ($y e $Y são duas variáveis diferentes)

Comentário:Os nomes das variáveis no PHP são sensíveis a maiúsculas e minúsculas!

Criar variável PHP

O PHP não tem um comando para criar variáveis.

As variáveis são criadas pela primeira vez que são atribuídas um valor:

Exemplo

<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>

Exemplo de execução

Após a execução das instruções acima, a variável txt armazenará o valor Hello world!, a variável x armazenará o valor 5 e a variável y armazenará o valor 10.5.

Comentário:Se você atribuir um valor textual à variável, use aspas para envolver o valor.

O PHP é uma linguagem de tipos fracos

No exemplo acima, note que não precisamos informar o tipo de dados da variável PHP.

O PHP converte automaticamente a variável para o tipo de dados correto com base em seu valor.

Em linguagens como C e C++ e Java, os programadores devem declarar o nome e o tipo da variável antes de usá-la.

Escopo de variável no PHP

No PHP, é possível declarar variáveis em qualquer parte do script.

O escopo de uma variável se reflete à parte do script onde a variável pode ser referenciada/usada.

O PHP tem três tipos diferentes de escopos de variáveis:

  • Local (local)
  • Global (global)
  • Static (estático)

Escopos Local e Global

FunçãoForaAs variáveis declaradas têm escopo GLOBAL, e podem ser acessadas apenas fora da função.

FunçãoInternamenteAs variáveis declaradas têm escopo LOCAL, e podem ser acessadas apenas dentro da função.

O exemplo a seguir testa variáveis com escopos local e global:

Exemplo

<?php
$x=5; // Escopo global
function myTest() {
  $y=10; // Escopo local
  echo "<p>Testando variáveis dentro da função:</p>";
  echo "A variável x é: $x";
  echo "<br>";
  echo "A variável y é: $y";
} 
myTest();
echo "<p>Testando variáveis fora da função:</p>";
echo "A variável x é: $x";
echo "<br>";
echo "A variável y é: $y";
?>

Exemplo de execução

No exemplo acima, há duas variáveis $x e $y, e uma função myTest(). $x é uma variável global, porque foi declarada fora da função, enquanto $y é uma variável local, porque foi declarada dentro da função.

Se nós dermos saída aos valores de duas variáveis dentro da função myTest(), $y exibirá o valor declarado localmente, mas não será possível exibir o valor de $x, porque foi criado fora da função.

Então, se você der saída aos valores de duas variáveis fora da função myTest(), então será exibido o valor de $x, mas não o valor de $y, porque é uma variável local e foi criada dentro da função myTest().

Comentário:Você pode criar variáveis locais com o mesmo nome em diferentes funções, pois as variáveis locais só podem ser reconhecidas pela função que as criou.

Palavra-chave global PHP

A palavra-chave global é usada para acessar variáveis globais dentro de uma função.

Para fazer isso, use a palavra-chave global antes da variável (dentro da função):

Exemplo

<?php
$x=5;
$y=10;
function myTest() {
  global $x,$y;
  $y=$x+$y;
}
myTest();
echo $y; // Saída 15
?>

Exemplo de execução

O PHP armazena todos os variáveis globais em um array chamado $GLOBALS[index]. O índice contém o nome da variável. Este array pode ser acessado dentro da função e usado para atualizar diretamente as variáveis globais.

O exemplo acima pode ser reescrito da seguinte forma:

Exemplo

<?php
$x=5;
$y=10;
function myTest() {
  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
} 
myTest();
echo $y; // Saída 15
?>

Exemplo de execução

Palavra-chave static PHP

Normalmente, após a conclusão da execução da função, todas as variáveis são removidas. No entanto, às vezes eu preciso manter uma variável local. Isso requer mais trabalho.

Para fazer isso, use static Palavras-chave:

Exemplo

<?php
function myTest() {
  static $x=0;
  echo $x;
  $x++;
}
myTest();
myTest();
myTest();
?>

Exemplo de execução

Então, a cada vez que a função for chamada, a informação armazenada nessa variável é a informação contida na última chamada da função.

Comentário:Esta variável continua sendo uma variável local da função.