Sortieren und Gruppieren von SimpleXML-Daten

Ich sortiere und gruppiere Veröffentlichungsdaten aus einer XML-Datei. Die Methoden, die ich derzeit verwende, funktionieren einwandfreihauptsächlich, obwohl ich der Meinung bin, dass es eine effizientere Möglichkeit gibt, das zu tun, was ich erreichen möchte.

Hier ist ein Beispiel dafür, wie die Zielknoten aussehen:

<comic>
      <id>117</id>
      <mainsection>
        <series>
          <displayname>My Amazing Adventure</displayname>
          <sortname>My Amazing Adventure</sortname>
        </series>
      </mainsection>
      <issuenr>2</issuenr>
      <seriefirstletter>
        <displayname>M</displayname>
        <sortname>M</sortname>
      </seriefirstletter>
    </comic>

Hier sind die aktuellen Schritte, die ich unternehme.

Laden der XML-Datei mit SimpleXMLGeben Sie den Zielknoten an und konvertieren Sie ihn mit iterator_to_array in ein ArrayVerwenden einer usort-Funktion, die das seriesname-Attribut vergleicht (strcmp), um alle Serien alphabetisch zu sortieren.Ich verwende eine Abfragezeichenfolge für jede Seite, um jeden Buchstaben des Alphabets anzugeben, und verwende eine IF-Anweisung, die den Buchstaben der Abfragezeichenfolge mit dem Wert für seriesfirstletter vergleicht. Es werden also nur die zutreffenden Knoten zurückgegeben.Ich beginne dann meine foreach Aussage. Ausgeben der gewünschten Daten in LI-Elemente.Schließlich benutze ich jQuery, um die IDs für jedes LI-Element zu überprüfen und sie visuell zu gruppieren. Ich habe eine PHP-Variable erstellt, die den Seriennamen mit den entfernten Leerzeichen für die IDs verwendet. Über der Gruppe wird eine H4-Überschrift mit dem richtigen Seriennamen und unter der Gruppe ein separater DIV eingefügt.

Während die alphabetische Sortierung richtig funktioniert. Ich möchte auch, dass die Ausgaben innerhalb derselben Serie numerisch sortiert werden.Dies funktioniert derzeit nicht. Derzeit sieht die numerische Sortierreihenfolge ungefähr so ​​aus: 1, 10, 12, 2, 3.

Ich möchte, dass das Problem der numerischen Sortierung behoben wird. Ich habe auch das Gefühl, dass die Gruppierung, die ich derzeit in jQuery mache, in PHP durchgeführt werden könnte, während ich die Schleife durchlaufe. Jeder Hinweis auf einen besseren / effizienteren Umgang mit diesen Daten wäre sehr willkommen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage