O código explicará mais:
$var = 0;
if (!empty($var)){
echo "Its not empty";
} else {
echo "Its empty";
}
O resultado retorna "Está vazio". Eu pensei que empty () verificará se eu já defini a variável e tenho valor dentro. Por que ele retorna "Está vazio"?
emptyé essencialmente uma abreviação de isset($var) && $var != false. Você deve estar segurando seu emptymuito estranho para dar um tiro no pé com isso. ; P
falsesem acionar um erro de "variável indefinida" é inútil? Bem, acho que você nunca faz isso ... 3) Escolher a função errada em um contexto de segurança não significa que a função em si seja ruim, inútil ou inconsistente; significa apenas que alguém escolheu a função errada para o trabalho.
empty(), provavelmente tem o nome errado.
emptyé talvez a função PHP mais útil, mas amplamente incompreendida. Aprenda como e quando usá-lo.