Como verificar se um array está vazio em PHP: 5 métodos práticos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Como verificar se um array está vazio em PHP? Cinco métodos que todo desenvolvedor precisa conhecer

\n\n

Você já escreveu um script PHP que precisava processar um array de dados e, de repente, se deparou com o erro "Undefined offset" ou "Trying to access array offset on null"? Situação familiar, não é? Verificar se um array está vazio é uma daquelas operações básicas, mas extremamente importantes, que muitos desenvolvedores iniciantes fazem de forma errada. Neste artigo, vamos abordar como verificar se um array está vazio em PHP e explorar todas as nuances: desde o uso simples de empty() até a comparação com []. Prepare seu editor de código favorito — vai ter muita prática!

\n\n

Por que isso é importante? Uma história real

\n\n

Imagine: você está criando uma loja virtual. O cliente adiciona produtos ao carrinho e finaliza a compra. Seu código precisa verificar se há itens no carrinho antes de processar o pagamento. Se você verificar o array PHP de forma incorreta, pode acabar cobrando por um carrinho vazio (e receber uma ligação furiosa do cliente) ou simplesmente não processar o pedido. Por isso, a pergunta "How to check whether an array is empty using PHP?" já teve milhares de visualizações no Stack Overflow. Vamos resolver isso de uma vez por todas.

\n\n

Método 1. Função empty() — o mais simples e popular

\n\n

A função empty() no PHP é um canivete suíço para verificar valores vazios. Ela retorna true se a variável não existe, é igual a false, null, string vazia, 0 ou array vazio. Para verificar se um array está vazio, é a opção ideal.

\n\n
<?php\n$emptyArray = [];\n$filledArray = ['maçã', 'banana'];\n\nif (empty($emptyArray)) {\n    echo 'O array está vazio!'; // Exibe: O array está vazio!\n}\n\nif (!empty($filledArray)) {\n    echo 'O array contém elementos: ' . implode(', ', $filledArray);\n    // Exibe: O array contém elementos: maçã, banana\n}\n?>
\n\n

Importante: empty() não gera aviso se a variável não estiver definida. É seguro e prático. No entanto, lembre-se: se o array contiver um elemento com valor 0 ou string vazia '', empty() não considera isso como "vazio" para o array inteiro — ele verifica o array em si, não seus elementos.

\n\n

Método 2. Função count() — contagem precisa de elementos

\n\n

Se você precisa saber o número exato de elementos, use count(). Um array é considerado vazio se count($array) === 0. Este método é especialmente útil quando você quer não apenas verificar se está vazio, mas também obter o tamanho do array.

\n\n
<?php\n$usuarios = ['Alice', 'Bob'];\n$usuariosVazio = [];\n\nif (count($usuariosVazio) === 0) {\n    echo 'A lista de usuários está vazia.'; // Exibe: A lista de usuários está vazia.\n}\n\necho 'Número de usuários: ' . count($usuarios); // Exibe: 2\n?>
\n\n

Detalhe importante: count() funciona mesmo em variáveis inexistentes, mas gera um aviso Warning: count(): Parameter must be an array or an object that implements Countable. Para evitar erros, combine com isset() ou is_array().

\n\n

Método 3. Comparação com array vazio (=== [])

\n\n

Às vezes, a maneira mais direta é a melhor. Você pode simplesmente comparar a variável com um array vazio usando a comparação estrita ===. Isso funciona rapidamente e é intuitivo.

\n\n
<?php\n$dados = [];\n\nif ($dados === []) {\n    echo 'O array dados está vazio.'; // Exibe: O array dados está vazio.\n}\n\n$config = ['debug' => true];\nif ($config !== []) {\n    echo 'A configuração não está vazia.';\n}\n?>
\n\n

Vantagens: O código é legível como inglês comum. Desvantagens: Se a variável não estiver definida, você receberá um erro fatal Undefined variable. Portanto, use este método apenas quando tiver certeza de que a variável existe.

Blogs

Book Recommendations