Rafael: Methode zur Prüfung mehrdimensionaler Arrays

Wie geht ihr vor, wenn ihr mehrdimensionale Arrays prüft?

Angenommen ich speichere in einem Array Informationen.
Gereiht wird sie in dieser Art:

$info_array[$pfad][$typ_der_information][$information]

Nun könnte ich per array_key_exists() prüfen ob der jeweilige Schlüssel exisitiert und mich so bis ans Ende durchprüfen.
Da ich das aber an vielen Stellen meines Skriptes mache erledige ich dies zumeist aus komfortgründen über isset().

Nun habe ich aber entdeckt, dass nachdem ich per isset($info_array[$pfad][$typ_der_information][$information]) prüfe mir PHP im Fall der Nicht-Existenz einen solchen Schlüsselpfad anlegt und mit NULL belegt.

Ist das gewollt oder gibt es dafür eine praktikablere Variante?
(Ich weiß, ich könnte mir auch eine eigene Funktion schreiben, aber ist dieser Weg nicht ziemlich ressourcenaufwändig wenn mein Array zum Beispiel bis in die sechste Dimension geht?

Danke für Tipps!

  1. Wie geht ihr vor, wenn ihr mehrdimensionale Arrays prüft?

    Ich prüfe ein mal auf Existenz des Arrays und eines Schlüsselwertes,
    sobald beides erwartet werden kann, und dann (wenn nötig) jeweils
    mit array_key_exists() wann immer ein bestimmter Wert erstmals
    verwendet wird.

    [...] isset($info_array[$pfad][$typ_der_information][$information])
    prüfe mir PHP im Fall der Nicht-Existenz einen solchen Schlüsselpfad
    anlegt und mit NULL belegt.

    Das Phänomen habe ich noch nicht beobachtet; sicher, daß dabei nicht
    noch andere Konstrukte mit im Spiel sind?

    Die Funktionen isset() und array_key_exists() unterscheiden sich im
    Bezug auf Arrays lediglich darin, daß letztere nur auf Existenz des
    Schlüssels testet (d.h. völlig ungeachtet des referenzierten Wertes),
    während isset() sowohl bei Nicht-Existenz als auch bei einem referen-
    zierten NULL-Wert 'false' zurück liefert.

    Grüße

    1. hi,

      [...] isset($info_array[$pfad][$typ_der_information][$information])
      prüfe mir PHP im Fall der Nicht-Existenz einen solchen Schlüsselpfad
      anlegt und mit NULL belegt.

      Das Phänomen habe ich noch nicht beobachtet; sicher, daß dabei nicht
      noch andere Konstrukte mit im Spiel sind?

      Kann ich im Test auch nicht nachvollziehen - weder unter PHP 4.4.7 noch 5.2.3.

      Das Array bleibt absolut unverändert - egal auf welcher "Ebene" sich bei der Abfrage mit isset der erste nicht-existente Key befindet.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. hallo,

        ich nutze PHP 5.1.4 und habs gerade noch mal probiert. Selbes Phänomen wie beschrieben...

        1. gudn tach!

          ich nutze PHP 5.1.4 und habs gerade noch mal probiert. Selbes Phänomen wie beschrieben...

          dann poste mal ein auf das wesentliche reduziertes beispiel.

          prost
          seth

          1. Okay. Ihr hattet alle Recht. Letztendlich wars dann doch mein Fehler... Sorry für die Mühen.