Das hat für ein paar Tage mein Gehirn zerreißt. Ich dachte, ich hätte eine Lösung, aber es fällt mir schwer, ein immer funktionierendes, kugelsicheres Stück Code zu entwickeln. Ich durchquere ein mehrdimensionales Array. Ich habe zwei Funktionen, eine, die eine einzelne Zeile betrachtet und eine, die ein Array betrachtet. Ich habe zwei poetentielle Konfigurationen für ein Array.Mehrdimensionales Array kann ein einzelnes Element oder ein anderes Array enthalten. Wie durchqueren?
Erstes Beispiel
[
'Person' => [
'Name' => 'John Smith'
]
]
(Ein einzelnes Ergebnis für Person, mit nur einem Namen für diese Person.)
Zweites Beispiel
[
'Person' => [
'Name' => [
0 => 'John Smith',
1 => 'John Denver'
]
]
]
(Eine einzelne Person , mit mehreren Namen für diese Person.)
Drittes Beispiel
[
'Person' => [
0 => [
'Name' => 'John Smith'
],
1 => [
'Name' => 'Jane Doe'
]
]
]
(zwei Personen, die jeweils mit einem Namen nur.)
Viertes Beispiel
[
'Person' => [
0 => [
'Name' => [
0 => 'John Smith',
1 => 'John Denver'
]
],
1 => [
'Name' => 'Jane Doe'
]
]
]
(Zwei Menschen, die erste hat zwei Namen , der zweite hat nur einen.)
Hoffentlich versteht man das, was ich sage. Wenn nur ein Datensatz für etwas vorhanden ist, wird der einzelne Datensatz zurückgegeben. Wenn es mehr als einen Datensatz gibt, wird ein Array mit jedem dieser Datensätze vorhanden sein.
Ich muss durch das multidimensionale Array von Anfang bis Ende durchqueren. Ich versuche herauszufinden, genau zu prüfen, ob es eine einzige Antwort oder mehrere gibt.
Ich habe versucht, nach Array-Schlüsselnamen zu überprüfen und zu prüfen, ob Schlüssel ganze Zahlen gegen Zeichenfolgen sind und ob etwas ein Array ist oder nicht.
Nichts funktioniert so wie ich es erwarte. Kann jemand helfen, eine Möglichkeit zu bieten, zu transversieren und zu überprüfen, zum Beispiel eine foreach Schleife oder eine Funktion?
Wenn es hilft, habe ich ein anderes Array, das die Namen der Schlüsselfelder enthält, nach denen es sucht. Dieses Array würde ein ähnliches Layout wie folgt haben:
Jede Hilfe würde sehr geschätzt werden.
bearbeiten
Da dies war nicht klar. Ich bin auf der Suche nach, wie der Elternschlüssel auf den Kindwert angewendet werden kann, unabhängig davon, ob der Wert ein einzelner Wert ist oder ob es ein Array mit mehreren Werten ist. Das Schlüsselelternteil muss auf alle untergeordneten Elemente angewendet werden, sofern nicht ein anderer übergeordneter Schlüssel vorhanden ist (theoretisch könnte eine unbegrenzte Anzahl von untergeordneten Schlüsseln/übergeordneten Schlüsseln unterhalb eines übergeordneten Schlüssels vorhanden sein).
Finale
ich es geschafft, dies herauszufinden. Danke an alle für Ihre Hilfe.
Ich habe Ihre Frage nicht bekommen, ich habe alle vier Arrays, die Sie an der Spitze gebucht haben, was ist dann Ihr jetzt erwartete Ausgabe? –
Nicht sicher, ob Sie die Möglichkeit haben, dies zu tun, aber es wird für Sie und jeden in Zukunft viel einfacher sein, wenn die Ergebnisse standardisiert sind. Was ich meine ist, das vierte Beispiel wird immer verwendet, egal wie viele Personen oder Namen es gibt. –
Leider kann ich das nicht tun. Ich versuche, es so robust wie möglich zu machen und viele verschiedene Möglichkeiten zuzulassen. Dieser Code wird zum Entschlüsseln von HTML/XML-Tags dienen, die in Arrays eingefügt werden, und ich will in der Lage sein, mit allem umzugehen, was auf ihn geworfen wird. –