Pues una cosa es "definida" y otra con valor (distinto a NULL) .. Para lo primero usaremos isset() y para ver si está definidia y con algun valor distinto a NULL (caso de "" o de 0 si no me equivoco) .. empty()
Para salir de dudas:
www.php.net/manual/es .. No creo que haga falta discutir por una cosa que lo explica bien clarito el manual oficial de referencia de PHP.
Un saludo,