rekursiver PHP-Traversierer

8

Ich habe eine Struktur, die ein Formular darstellt, und ich möchte es mit RecursiveIterator iterieren. Das Problem ist, dass nur die Fragen der obersten Ebene zurückgegeben werden. Was mache ich falsch?

Ganze Form:

%Vor%

Frage:

%Vor%

Iteration:

%Vor%     
cypher 12.11.2010, 12:30
quelle

2 Antworten

9

Um über RecursiveIterator zu iterieren, müssen Sie es in ein RecursiveIteratorIterator einbinden.

Siehe einige Beispiele unter

Der Standard-Iterationsmodus besteht nur darin, die Blätter aufzulisten. Wenn die enthaltenen Knoten auch in der Iteration angezeigt werden sollen, übergeben Sie RecursiveIteratorIterator::SELF_FIRST als zweites Argument an den Konstruktor von RecursiveIteratorIterator

    
Gordon 12.11.2010, 13:24
quelle
2

Nun, wie Sie hier sehen können

%Vor%

Die Methode sollte ein Objekt zurückgeben, das den Iterator implementiert. Ihre Methode gibt ein einfaches Array zurück.

Meine Vermutung wäre, etwas zurückzugeben wie:

%Vor%

Dies liegt daran, dass Sie einen RECURSIVE-Iterator verwenden, so dass erwartet wird, dass jeder Knoten des Baums desselben Typs (ein Iterator)

enthält     
dierre 12.11.2010 12:56
quelle