A função empty do PHP realmente é uma função muito útil no dia a dia da programação PHP. Ela serve para verificar se uma variável existe (esta definida) e ainda por cima verifica se a variável esta vazia.
Normalmente nós precisamos verificar se a variável existe e depois verificar se ela esta vazia:
if(isset($_POST['algo']))
{
if($_POST['algo'] == '')
echo "POST['algo'] esta vazio";
else
echo "POST['algo'] não esta vazio";
}
else
echo "POST['algo'] não existe ou não foi definido";
Com a função empty do PHP, nós podemos de uma vez só fazer essas duas verificações:
if(empty($_POST['algo']))
echo "POST['algo'] esta vazio ou não foi definido";
else
echo "POST['algo'] existe e não esta vazio";
A função empty não vai gerar erro, e nem warning no caso da variável não existir, o que aconteceria caso fizéssemos a verificação sem a função isset:
if($_POST['algo'] == "")
echo "POST['algo'] esta vazio";
//geraria um erro, caso $_POST['algo'] não estivesse definido
Pra mim a função empty faz mais sentido do que usar a função isset, já que só iremos manipular variáveis, se elas existirem e tiverem valor.
Você também pode usar a negação da função empty, ja que este é o intuito:
if(!empty($algo))
echo $algo;
Traduzindo o código acima, seria + ou – isso: “se a variável algo existir e não estiver vazia, escreva a variável algo”.
Uma nota importante sobre a função empty, é que ela só verifica variáveis, então não adianta passar um retorno de função, como usualmente programadores fazem pra economizar código. Por exemplo:
if(empty(str_replace('algo','texto','algo de parâmetro')))
//isto irá gerar um erro
$string = str_replace('algo','texto','algo de parâmetro');
if(empty($string)) // assim funciona
Esta função também verifica se um array esta vazio. Exemplo:
$vetor = array();
var_dump(empty($vetor)); // imprime true, ou seja, o vetor esta vazio
$vetor[0] = "Algo";
var_dump(empty($vetor)); // imprime false, o vetor não esta mais vazio
var_dump(empty($vetor[1])); // imprime true, a posição 1 do vetor esta vazia
Lembrando que a função empty considera todos esses valores como vazios: null, false, 0(como int), ‘0’ (como string), “” (String vazia), array() (array vazio), var $variavel (existe ma sem valor definido).
Portanto, se você estiver trabalhando com números por exemplo, em contas que podem ter resultado 0, não utilize a função empty, pois ela vai retornar true, que esta vazio.
Só relembrando, a função isset apenas verifica se a variável existe, ja a função empty verifica se ela existe e se tem algum valor setado.
Espero que vocês tenham gostado, até mais.
Basta clicar em algum anúncio da header ou sidebar e aguardar pelo menos 10 segundos