come da manuale, isset Restituisce TRUE se la variabile esiste e ha un valore diverso da NULL, FALSE in caso contrario. Quindi due osservazioni:
1) Provare ad usare una variabile che non esiste è da scriteriati, anche mettendoci il controllo isset prima. Le variabili esistono, al piu contengono valori null o diversi da null. Se stai facendo un qualcosa che non sia sicuro che la variabile esista, rifallo. Potrebbe aver un minimo senso sugli array, ma userei in quel caso array_key_exists che isset
2) Dato quindi per scontato che la variabile esiste, non serve isset all'inizio e puoi mettere direttamente il check sull'uguaglianza dopo, visto che come minimo la variabile è uguale a NULL.