Sönke Tesch: Arrays abfragen

Beitrag lesen

if ($con[$menu]==$menu)

Ich würde gerne die Namen der ArrayZelle abfragen und nicht den Inhalt. Was ich hier mache, fragt den Inhalt ab, oder? Wer weiß Rat.

Du fragst hier ab, ob die Zelle mit Namen $menu den Inhalt $menu hat.

Was meinst Du mit "Ich würde gerne den Namen der Zelle abfragen"? Das geht insofern schon prinzipiell nicht, weil Du eine Zelle erstmal über Ihren Namen identifizieren mußt, um Informationen wie Inhalt, Inhaltstyp oder auch den Namen über sie zu bekommen.
Anders gesagt: Willst Du den Namen wissen, mußt Du erstmal den Namen haben, um die Zelle überhaupt ansprechen zu können - Du drehst Dich im Kreis.

Der einzig sinnvolle Ort, um nach dem Namen zu fragen, ist innerhalb einer Schleife, in der ein Feld automatisch durchlaufen wird:

while (list($name,$inhalt)=each($feld))
    {
     // In $name steht jetzt der Name bzw. Index des Feldes,
     // in $inhalt der -Überraschung- Inhalt.
    }

Alternativ zu while kann man auch foreach benutzen:

foreach ($feld as $name => $inhalt)

So eine Schleife brauchst Du aber anscheinend nicht.

Möchtest Du nur wissen, ob eine Zelle namens $menu existiert, kannst Du etwas in der Richtung

if (isset($con[$menu]))

benutzen.

Und möchtest Du etwas ganz anderes, mußt Du das wohl nochmal erklären :)

Gruß,
  soenk.e