Tom: Denksportaufgabe zu Arrays

Beitrag lesen

Hello @ all,

Ich habe noch ein paar Fehler beseitigt und bin gerade dabei, die zusätzlich benötigten Funktionen für den "Click-Counter mit IP-Sperre" zusammenzustellen.

Dabei bin ich auf eine kleine Denksportaufgabe zu Arrays gestoßen.

Die Struktur des Arrays soll folgendermaßen aussehen.

$_linklist[$link] = array();
        $_linklist[$link][$ip] = array();
        $_linklist[$link][$ip]['lasttime'] = $time;
        $_linklist[$link][$ip]['clicks'] = 1;

Dabei werden die Keys erster und zweiter Ebene aus den Daten abgeleitet. Darin kann also alles mögliche und unmögliche stehen...

Wie kann ich nun feststellen, ob in der dritten Ebene die Keys ['lasttime'] und ['clicks'] vorhanden sind? Gesucht wird hierfür eine möglichst simple Funktion :-)

Mir fiel da nur dieses wilde Konstrukt ein...

if (!isset($_linklist[key($_linklist)][key($_linklist[key($_linklist)]]['clicks']),
               $_linklist[key($_linklist)][key($_linklist[key($_linklist)]]['lasttime'])
    {
        fclose($fh);
        return false;
    }

Wer kann mir da mal helfen, den Knoten aufzulösen?

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de