Saubere Lösung gesucht

Hallo,

ich habe in einem längerem Skript unter anderem folgenden Code drin:

if (!array_key_exists($u_name,$u_key[$y]))

Nun gibt es mehrere Möglichkeiten. In dem mehrdimensionalen Array $u_key[$y] gibt es Key-Werte, die dem gesuchten entsprechen oder nicht, oder aber, es gibt da drin keine Key-Werte, was unter dem Strich bedeutet, daß es eigentlich ja auch das Array $u_key[$y] nicht gibt.
Für den zweiten Fall bekommt man dann eine Warnung von wegen „Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in C:\Programme\xampp\htdocs\kaehler\test5.php on line 1002“. Das Skript funktioniert trotz dieser unschönen Fehlermeldung absolut richtig.
Nun fallen mir persönlich zwei Lösungswege ein:

  1. Diese Meldung einfach mit „@“ in der Zeile zu unterdrücken. Das bedeutet aber immer noch, daß ja eigentlich ein „Fehler“ im Code ist, den man halt einfach ignoriert.
  2. Durch eine Abfrage vorher zu überprüfen, ob $u_key[$y] überhaupt existiert und nur wenn dies der Fall ist, die andere Abfrage auszuführen. Dies wäre in meinen Augen die wesentlich sauberere Lösung. Allerdings kommen Abfragen in dieser Art zigfach im kompletten Skript vor und der Code, der zu den Abfragen im obigen Stil gehören umfasst schon einige Zeilen. Wenn ich nun überall diese Vorabfrage einbauen möchte, dann muß ich nicht nur den ganzen Code Zeile für Zeile eine Einrückung nach rechts schieben und zusätzlich dann noch den Code der Schleife in den Else-Zweig der Vorabfrage einbauen, denn der Code muß natürlich auch für den Fall ausgeführt werden, daß das Array erst gar nicht existiert.

Gibt es vielleicht auch noch einen weiteren Lösungsansatz, den ich noch nicht kenne? Wie würdet Ihr sowas lösen?

Gruß

Thomas

Hallo,

ich habe in einem längerem Skript unter anderem folgenden Code
drin:

if (!array_key_exists($u_name,$u_key[$y]))

if (isset($u_key[$y][$u_name])

Danke,

if (isset($u_key[$y][$u_name])

das ist eine saubere sehr kurze Lösung!

Gruß

Thomas