PHP

Guia Completo de Variáveis, Tipos de Dados e Operadores em PHP

9 min de leitura

Guia Completo de Variáveis, Tipos de Dados e Operadores em PHP

Variáveis em PHP Uma variável é um espaço de memória que armazena um valor. Em PHP, todas as variáveis são precedidas pelo símbolo e não precisam ter seu tipo declarado explicitamente — a linguagem infere o tipo automaticamente. O nome da variável deve começar com uma letra ou underscore, seguido de letras, números ou underscores. PHP permite sobrescrever variáveis e reatribuir tipos sem avisos — isso oferece flexibilidade, mas exige cuidado do programador. Use convenções de nomenclatura como para melhorar a legibilidade. Variáveis não inicializadas geram um aviso se acessadas, portanto sempre inicialize antes de usar. Escopo de Variáveis O escopo define onde uma variável pode ser acessada. Variáveis globais são acessíveis em todo o script, enquanto variáveis locais existem apenas dentro de funções. Use a palavra-chave para acessar variáveis globais dentro de uma função ou use a superglobal . Tipos de Dados em PHP PHP suporta oito tipos de dados fundamentais: quatro escalares ( , , , ) e

<h2>Variáveis em PHP</h2>

<p>Uma variável é um espaço de memória que armazena um valor. Em PHP, todas as variáveis são precedidas pelo símbolo <code>$</code> e não precisam ter seu tipo declarado explicitamente — a linguagem infere o tipo automaticamente. O nome da variável deve começar com uma letra ou underscore, seguido de letras, números ou underscores.</p>

<pre><code class="language-php">&lt;?php

$nome = &quot;João Silva&quot;;

$idade = 28;

$altura = 1.75;

$ativo = true;

echo &quot;Nome: &quot; . $nome . &quot;, Idade: &quot; . $idade;

// Saída: Nome: João Silva, Idade: 28

?&gt;</code></pre>

<p>PHP permite sobrescrever variáveis e reatribuir tipos sem avisos — isso oferece flexibilidade, mas exige cuidado do programador. Use convenções de nomenclatura como <code>camelCase</code> para melhorar a legibilidade. Variáveis não inicializadas geram um aviso se acessadas, portanto sempre inicialize antes de usar.</p>

<h3>Escopo de Variáveis</h3>

<p>O escopo define onde uma variável pode ser acessada. Variáveis globais são acessíveis em todo o script, enquanto variáveis locais existem apenas dentro de funções. Use a palavra-chave <code>global</code> para acessar variáveis globais dentro de uma função ou use a superglobal <code>$GLOBALS</code>.</p>

<pre><code class="language-php">&lt;?php

$globalVar = &quot;Sou global&quot;;

function testaEscopo() {

$localVar = &quot;Sou local&quot;;

global $globalVar;

echo $globalVar; // Funciona

echo $localVar; // Funciona aqui

}

testaEscopo();

// echo $localVar; // Erro: não existe fora da função

?&gt;</code></pre>

<h2>Tipos de Dados em PHP</h2>

<p>PHP suporta oito tipos de dados fundamentais: quatro escalares (<code>string</code>, <code>int</code>, <code>float</code>, <code>bool</code>) e quatro compostos (<code>array</code>, <code>object</code>, <code>callable</code>, <code>iterable</code>), além de dois especiais (<code>null</code> e <code>resource</code>).</p>

<pre><code class="language-php">&lt;?php

// Escalares

$string = &quot;Olá, Mundo!&quot;;

$inteiro = 42;

$flutuante = 3.14159;

$booleano = true;

// Compostos

$array = [&quot;maçã&quot;, &quot;banana&quot;, &quot;laranja&quot;];

$associativo = [&quot;nome&quot; =&gt; &quot;Maria&quot;, &quot;idade&quot; =&gt; 30];

// Especial

$nulo = null;

var_dump($string, $inteiro, $flutuante, $booleano);

?&gt;</code></pre>

<p>Você pode verificar o tipo de uma variável com <code>gettype()</code> ou funções especializadas como <code>is_string()</code>, <code>is_int()</code>, <code>is_array()</code>. A conversão de tipo é automática em muitos contextos (casting implícito), mas também pode ser feita explicitamente usando <code>(int)</code>, <code>(string)</code>, <code>(array)</code>, entre outros.</p>

<h3>Strings em Profundidade</h3>

<p>Strings são sequências de caracteres. PHP oferece quatro formas de criar strings: aspas duplas (com interpolação), aspas simples (literal), heredoc e nowdoc. A interpolação permite inserir variáveis diretamente na string entre aspas duplas, economizando concatenações.</p>

<pre><code class="language-php">&lt;?php

$produto = &quot;Notebook&quot;;

$preco = 2500;

// Interpolação (funciona)

echo &quot;Produto: $produto, Preço: R$ $preco&quot;;

// Concatenação (também funciona)

echo &quot;Produto: &quot; . $produto . &quot;, Preço: R$ &quot; . $preco;

// Heredoc (interpola variáveis)

$texto = &lt;&lt;&lt;EOT

Bem-vindo ao $produto!

Preço especial: R$ $preco

EOT;

echo $texto;

?&gt;</code></pre>

<h3>Arrays e Tipos Compostos</h3>

<p>Arrays são coleções ordenadas de valores. PHP oferece arrays indexados (chaves numéricas automáticas) e arrays associativos (chaves customizadas). Ambos são incrivelmente flexíveis e podem conter qualquer tipo de dado, inclusive outros arrays.</p>

<pre><code class="language-php">&lt;?php

// Indexado

$frutas = [&quot;maçã&quot;, &quot;banana&quot;, &quot;laranja&quot;];

echo $frutas[0]; // &quot;maçã&quot;

// Associativo

$usuario = [

&quot;nome&quot; =&gt; &quot;Carlos&quot;,

&quot;email&quot; =&gt; &quot;carlos@example.com&quot;,

&quot;idade&quot; =&gt; 35

];

echo $usuario[&quot;nome&quot;]; // &quot;Carlos&quot;

// Multidimensional

$matriz = [

[&quot;1,1&quot; =&gt; 10, &quot;1,2&quot; =&gt; 20],

[&quot;2,1&quot; =&gt; 30, &quot;2,2&quot; =&gt; 40]

];

echo $matriz[0][&quot;1,1&quot;]; // 10

?&gt;</code></pre>

<h2>Operadores em PHP</h2>

<p>Operadores executam ações sobre variáveis e valores. Os principais grupos são: aritméticos (<code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>, <code>%</code>), de atribuição (<code>=</code>, <code>+=</code>, <code>-=</code>), de comparação (<code>==</code>, <code>===</code>, <code>!=</code>, <code>&gt;</code>), lógicos (<code>&amp;&amp;</code>, <code>||</code>, <code>!</code>) e especiais como spaceship (<code>&lt;=&gt;</code>) e null coalescing (<code>??</code>).</p>

<pre><code class="language-php">&lt;?php

// Aritméticos

echo 10 + 5; // 15

echo 10 % 3; // 1 (resto da divisão)

// Comparação: igualdade vs identidade

var_dump(5 == &quot;5&quot;); // true (comparação solta)

var_dump(5 === &quot;5&quot;); // false (tipo diferente)

// Lógicos

$x = true;

$y = false;

echo ($x &amp;&amp; $y) ? &quot;Ambos verdadeiros&quot; : &quot;Nem todos verdadeiros&quot;;

// Null coalescing (retorna primeiro valor não-nulo)

$nome = null;

echo $nome ?? &quot;Anônimo&quot;; // &quot;Anônimo&quot;

// Spaceship (comparação tri-valoatória)

echo (5 &lt;=&gt; 3); // 1 (5 é maior)

echo (3 &lt;=&gt; 5); // -1 (3 é menor)

echo (5 &lt;=&gt; 5); // 0 (são iguais)

?&gt;</code></pre>

<h3>Precedência e Associatividade</h3>

<p>A ordem de execução dos operadores importa. Operadores aritméticos têm precedência maior que lógicos, e você pode usar parênteses para forçar uma ordem específica. Entender precedência evita bugs sutis em expressões complexas.</p>

<pre><code class="language-php">&lt;?php

// Sem parênteses: * tem precedência sobre +

echo 2 + 3 * 4; // 14 (não 20)

// Com parênteses: controla a ordem

echo (2 + 3) * 4; // 20

// Atribuição em cadeia (associatividade à direita)

$a = $b = $c = 10;

echo $a; // 10

// Operador ternário (associatividade à esquerda — cuidado!)

$resultado = true ? &quot;A&quot; : true ? &quot;B&quot; : &quot;C&quot;;

echo $resultado; // &quot;A&quot;

?&gt;</code></pre>

<h2>Conclusão</h2>

<p>Dominar variáveis, tipos de dados e operadores é o alicerce para programar em PHP com segurança. Lembre-se de três pontos: (1) <strong>sempre inicialize variáveis</strong> antes de usá-las e respeite o escopo para evitar conflitos; (2) <strong>use <code>===</code> em comparações</strong> críticas, pois <code>==</code> pode levar a comportamentos inesperados em PHP; (3) <strong>aproveite operadores modernos</strong> como null coalescing (<code>??</code>) e spaceship (<code>&lt;=&gt;</code>) para escrever código mais limpo e expressivo.</p>

<p>Com essa base sólida, você está pronto para explorar estruturas de controle, funções e programação orientada a objetos com confiança.</p>

<h2>Referências</h2>

<ul>

<li><a href="https://www.php.net/manual/en/language.variables.php" target="_blank" rel="noopener noreferrer">Documentação Oficial PHP - Variables</a></li>

<li><a href="https://www.php.net/manual/en/language.types.php" target="_blank" rel="noopener noreferrer">Documentação Oficial PHP - Types</a></li>

<li><a href="https://www.php.net/manual/en/language.operators.php" target="_blank" rel="noopener noreferrer">Documentação Oficial PHP - Operators</a></li>

<li><a href="https://phptherightway.com/" target="_blank" rel="noopener noreferrer">PHP: The Right Way - Tipo de Dados e Variáveis</a></li>

<li><a href="https://www.oreilly.com/library/view/clean-code-in/9781492050544/" target="_blank" rel="noopener noreferrer">Clean Code in PHP - Boas Práticas</a></li>

</ul>

Comentários

Mais em PHP

Dominando PHP_CodeSniffer e PHPStan: Qualidade Estática de Código em Projetos Reais
Dominando PHP_CodeSniffer e PHPStan: Qualidade Estática de Código em Projetos Reais

PHPCodeSniffer: Implementando Padrões de Código PHPCodeSniffer (PHPCS) é uma...

Trabalhando com Pacotes Populares do Packagist: Do Básico ao Avançado
Trabalhando com Pacotes Populares do Packagist: Do Básico ao Avançado

Introdução ao Packagist e Composer O Packagist é o repositório oficial de pac...

Como Usar Deploy de Aplicações PHP em VPS com Nginx e PHP-FPM em Produção
Como Usar Deploy de Aplicações PHP em VPS com Nginx e PHP-FPM em Produção

Preparação da VPS e Instalação de Dependências Antes de deployar sua aplicaçã...