Esto es completamente redundante. empty
es más o menos taquigrafía para !isset($foo) || !$foo
, y !empty
es análogo a isset($foo) && $foo
. Es decir. empty
hace lo contrario de isset
más un cheque adicional para la verdad de un valor.
O en otras palabras, empty
es lo mismo que !$foo
, pero no arroja advertencias si la variable no existe. Ese es el punto principal de esta función: hacer una comparación booleana sin preocuparse por la variable que se está configurando.
The manual lo expone así:
empty()
es lo contrario de (boolean) var
, excepto que ninguna advertencia se genera cuando no se establece la variable.
Puede simplemente usar !empty($vars[1])
aquí.
Hay una bonita gráfica de los resultados de su uso con diferentes tipos de variables (tienen diferencias) aquí: https://www.virendrachandak.com/demos/php-isset-vs-empty-vs-is_null.php –
Los complementos obvios exactos son set e is_null, pero! empty cubre algunas diferentes. Todo depende del tipo de datos que está probando. –