Theorie: Rekursiver Durchgang (Links)

  • Hallo,
    ich habe eine Funktion geschrieben, welche die Links einer Seite ausliest und in einem Array zurückgibt.

    [0] http://..../index.php
    [1] http://..../123.php
    ...
    Diese Funktion soll für jede Seite die ausgelesen wird, wiederholt werden. Dies ist eben nötig, da verschiedene Seiten verschiedene Links haben können.

    Nun liegt mein Problem darin, dass ich nicht weiß wie ich diese Sache vom Ablauf her angehen soll. Es müssen ja auch von den neuen Seiten wieder alle Seiten aufgerufen werden usw... und am Ende soll halt trotzdem nur ein Array zurückkommen mit allen Links wo man mit http://de.php.net/array_unique die doppelten Einträge entfernt.

    Wie könnte man sowas angehen?

  • Benutze kein array_unique.
    Ein Beispiel:

    So einfach geht das...

  • Hallo,
    vielen Dank für dein Beispiel.

    Ganz ehrlich. Da wäre ich niemals drauf gekommen, zumal ich schon das Wissen über Referenzen nicht mehr parat hatte und erst suchen musste was dieses & vor dem Array bedeutete.

    Nachfolgend mal meine Kommentierung, in der ich hoffentlich die Funktionsweise richtig verstanden habe und allen weiteren helfe, sich leichter reinzudenken ;)

    Hast du etwas in diesem Bereich studiert? Es könnte auch daran liegen, dass mir das ich noch nicht alt so lange programmiere und mir solche Vorgehensweisen noch nicht einfallen, aber finde ich schon sehr bemerkenswert.

    Danke nochmal.

  • Man muss nicht unbedingt studiert haben, um solche Scripte zu schreiben. Einiges an Erfahrung reicht auch. Und mit Rekursionen muss man sich auch richtig auseinander setzen, ansonsten hat man schnell mal eine Endlosschleife programmiert. ;)