Ich versuche, eine rekursive Array-Iterator-Funktion zu schreiben, in der die Funktion eine Ergebnismenge aller Mengen zurückgibt, die durch '$ nadel' spezifiziert sind. Wo $ Nadel = Taste
Hier ist meine Funktion:
%Vor% Aber ich bekomme nicht alle Ergebnisse zurück und erhalte stattdessen ein paar leere Ergebnisse, wenn ich nicht !empty($value)
vorschlage, obwohl das Eingabearray keine leeren Mengen enthält. Was mache ich falsch?
Sie müssen das Rad nicht neu erfinden, da PHP standardmäßige Rekursive Iterator API hat:
%Vor% - Da Sie nach dem Wert mit dem Schlüssel suchen, wird $value
im allgemeinen Fall den gesamten Unterabschnitt enthalten.
Wenn Sie dies in Ihrer eigenen rekursiven Funktion tun möchten, hier ist eins:
%Vor% Eine feinkörnigere Kontrolle ist vielleicht möglich mit true (tm) rekursivem Array-Traversal über RecursiveIterator
interface und einigen Schlüsselfiltern und Array-Konvertierungsfunktionen:
Bereitstellen eines beispielhaften Ergebnisses als:
%Vor%Vollständiges Codebeispiel ( Demo ):
%Vor%