JoseO: Sauberer Code und undefined variable / undefined index

Beitrag lesen

Hallo,

habe in der php.ini den Wert für error_reporting von "E_ALL & ~E_NOTICE" auf "E_All" geändert und erhalte bei meinem Skript nun u.a. Nachrichten wie:
Notice: Undefined variable: xxx in ...
Notice: Undefined index: xxx in ...

Verursacht wird dieser Hinweis z.B. durch Code, wo ich einer Variablen einen Wert aus einem Array zuweise (wobei der Index im Array in diesem Fall nicht existiert!):

$catPath = $arr_currentCat['catPath'];   // $arr_currentCat['catPath']; existiert nicht im Array
Bevor ich dann die Variable $catPath verwende, frage ich ab, ob sie existiert:
if(isset($catPath)){ ... } else ...

Prinzipiell funktioniert das so auch. Meine Frage nun, handelt es sich hier um eine unsaubere Vorgehensweise (deshalb die Notices)? Wenn ja, wie müsste man das richtig bzw. sauber programmieren???

Wäre das eine sauberere Lösung?
$catPath = isset($arr_currentCat['catPath']) ? $arr_currentCat['catPath'] : null;

bzw. bei einem Array:
if($cat!=0){
    $arr_currentCat = get_catInfo($cat);
} else {
    $arr_currentCat = array();
}

Sollte ich diese Notices korrigieren und wenn ja, wie korrigiere ich sie am besten? Oder setze ich einfach den reporting level wieder um eine Stufe höher? Die Aufgabe erfüllt der Code ja in beiden Fällen und ein Sicherheitsproblem kann ich in diesem Fall auch nicht erkennen? Was meint Ihr dazu?

Besten Dank und schöne Grüße
JoseO