Hvorfor isset før check af _GET variabel?

Hejsa
I videoen "Valider vores Return-data fra vores MySQL-kald", laver vi et check på om en person eksisterer i vores database, og returnerer en fejlbesked hvis det er tilfældet.
Jeg prøver at pause videoerne løbende, og udføre den kode der beskrives, for derefter først at se svaret her, og i det her tilfælde endte jeg med:
<?php if ($_GET['fejl'] == "ingenperson") { ?>
<div class='alert alert-danger'>Denne person eksisterer ikke...</div>
<?php } ?>
Det "rigtige" var i den her situation:
<?php if (isset($_GET['fejl'] && $_GET['fejl'] == "ingenperson") { ?>
<div class='alert alert-danger'>Denne person eksisterer ikke...</div>
<?php } ?>
Men jeg synes ikke rigtigt det bliver forklaret, hvorfor isset() checket er smart at bruge?
Er det udelukkende fordi det er "god kodestil" at checke om en variabel er sat, før man checker indholdet af den, eller er der en dybere mening (det er der med garanti ;-))
Tak for de rigtigt gode videoer. Jeg har slugt 2½ kapitel på få dage, og føler jeg er bedre inde i PHP end jeg nogensinde har været før. Babysteps selvfølgelig... Men ikke desto mindre skridt i den rigtige retning!

Først og fremmest, fantastisk at høre at du finder vores videoer gode. Det varmer altid at høre.
Og nu til dit spørgsmål omkring isset() funktionen. Kort fortalt er det god praksis. Det har dog også den ekstra funktion at det tjekker om din variabel ikke kun er sat, men at den faktisk også har noget indhold og ikke er "tom". (NULL.)
Ved at tjekke på den her måde, undgår man også at PHP kommer op med fejlbeskeder hvis en variabel. ($_GET['fejl'} i dit tilfælde.) Ikke skulle eksistere til at begynde med, den ville ganske simpelt bare springe det over og gå videre med hvad koden nu prøver på. (Det giver jo ingen mening at lave tjek på en variabel, som ikke eksistere til at begynde med - eller som er tom.) Så isset() funktionen er rigtig god i de tilfælde, hvor du vil tjekke om din variabel er sat, men er ligeglad med om indholdet er noget specifikt - andet end at det i det mindste er sat og ikke tom.
Jeg håber at det gav lidt informationer omkring brugen af isset() funktionen.
Redigeret: isset() kan også benyttes til hurtigt at tjekke mere end om blot en variabel er sat, ved at eksempelvis skrive:
$variabel_1 = ""; # er okay
$variabel_2 = NULL; # vil fejle
$variabel_3 = 4; # er okay
isset($variabel_1, $variabel_2, $variabel_3);
Så man kunne simpelt tjekke om de er sat, og hvis bare en af dem fejler - give en fejlbesked hurtigt og simpelt.
Redigeret af
@dhh
d. 22.10.2016 kl. 01:07 Med venlige hilsner
Daniel H. Hemmingsen (@dhh)