Heim > Artikel > Backend-Entwicklung > Wie greife ich mithilfe eines Index innerhalb des Bereichs in HTML/Vorlage auf Elemente aus parallelen Arrays zu?
So iterieren Sie durch parallele Arrays unter Verwendung eines Index innerhalb des Bereichs in HTML/Template
In HTML/Template verwenden Sie das Bereichskonstrukt zusammen mit dem Die Indexfunktion ermöglicht das parallele Durchlaufen mehrerer Arrays. Allerdings tritt eine häufige Gefahr auf, wenn versucht wird, über den Index innerhalb des Bereichsblocks auf Elemente aus einem Array zuzugreifen.
Bedenken Sie den folgenden Code:
{{range $i, $e := .First}}{{$e}} - {{index .Second $i}}{{end}}
Dieser Code versucht, die Arrays zu durchlaufen .First und .Second parallel. Es funktioniert jedoch nicht ordnungsgemäß, da die Punktvariable (.) im Bereichsblock dem Wert .First neu zugewiesen wurde. Um dieses Problem zu lösen, müssen wir auf die ursprüngliche Punktvariable zugreifen, die den gesamten Datensatz darstellt.
Die Indexfunktion verwendet das erste Argument als zu indizierendes Array und nachfolgende Argumente als Indexwerte. Daher können wir den Code wie folgt ändern:
{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}
Hier stellt $ die ursprüngliche Punktvariable dar, die das an Execute übergebene Datenargument enthält. Durch die Verwendung von $ können wir über den Index $i auf die Elemente von .Second zugreifen.
Alternativ besteht ein saubererer Ansatz darin, eine Vorlagenfunktion namens zip zu erstellen, die mehrere Slices akzeptiert und von jedem Wertepaar ein Slice zurückgibt . Dadurch entfällt die Notwendigkeit einer komplexen Indizierung innerhalb der Vorlage und die Lesbarkeit des Codes wird verbessert.
Das obige ist der detaillierte Inhalt vonWie greife ich mithilfe eines Index innerhalb des Bereichs in HTML/Vorlage auf Elemente aus parallelen Arrays zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!