empty e isset são duas funções essenciais no PHP, amplamente utilizadas para verificar variáveis. Dessa forma, elas ajudam a validar se uma variável está definida ou se seu conteúdo atende a certos critérios, como estar vazio ou não.
empty
A função empty verifica se uma variável está vazia. Assim sendo, é considera-se uma variável vazia quando for:
null
false
- um array vazio
- uma string vazia (“” ou ”)
0
(inteiro ou float)- “0” (string)
- um objeto sem propriedades
Exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$var1 = ""; $var2 = null; $var3 = 0; if (empty($var1)) { echo "\$var1 está vazia\n"; // Este bloco será executado } if (empty($var2)) { echo "\$var2 está vazia\n"; // Este bloco será executado } if (empty($var3)) { echo "\$var3 está vazia\n"; // Este bloco será executado } |
isset
A função isset verifica se uma variável foi definida e não é null
. Por outro lado, ao contrário de empty, isset considera que valores como false
, 0
e strings vazias não são nulos, logo retornará true
para essas variáveis.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$var1 = ""; $var2 = null; $var3 = 0; if (isset($var1)) { echo "\$var1 está definida\n"; // Este bloco será executado } if (isset($var2)) { echo "\$var2 está definida\n"; // Este bloco não será executado } if (isset($var3)) { echo "\$var3 está definida\n"; // Este bloco será executado } |
Principais diferenças entre empty e isset (empty x isset)
- empty retorna
true
para variáveis que são consideradas “vazias” (incluindo0
,false
e string vazia), enquanto isset retornatrue
para qualquer variável que não sejanull
. - isset pode-se usar para verificar se definiu uma variável antes de usá-la, evitando erros de referência a variáveis indefinidas.
Uso combinado (empty e isset)
Você pode combinar empty e isset para cobrir diferentes cenários de validação. Por exemplo, para verificar se uma variável está definida e não está vazia:
1 2 3 4 5 |
$var = "Hello, World!"; if (isset($var) && !empty($var)) { echo "\$var está definida e não está vazia\n"; // Este bloco será executado } |
Usar empty e isset de maneira apropriada ajuda a evitar erros comuns em scripts PHP, especialmente ao lidar com entrada de usuários e dados dinâmicos.
Conclusão
As funções empty e isset são funções no PHP para controlar e validar variáveis. Enquanto isset verifica se uma variável está definida e não é null, empty verifica se a variável possui um valor “não vazio” de acordo com uma série de condições, dessa forma, compreender as diferenças e os contextos de uso dessas funções permite escrever códigos mais robustos, seguros e eficientes em PHP.