Sortieren eines array aus SimpleXML-Objekten

Habe ich gelesen, was ich gefunden habe, auf Stackoverflow und bin immer noch unklar, auf dieser.

Ich habe ein array aus SimpleXML-Objekten, so etwas wie dieses:

array(2) {
  [0]=>
  object(SimpleXMLElement)#2 (2) {
    ["name"]=>
    string(15) "Andrew"
    ["age"]=>
    string(2) "21"
  }
  [1]=>
  object(SimpleXMLElement)#3 (2) {
    ["name"]=>
    string(12) "Beth"
    ["age"]=>
    string(2) "56"
  }
}

Und ich möchte in der Lage sein, zu Sortieren: was auch immer Spalte, aufsteigend oder absteigend. So etwas wie:

sort($data, 'name', 'asc');

Wo ich kann in der obigen array von Objekten Sortieren nach dem Wert, welcher Taste, die ich mag.

Referenz, eine ähnliche .NET-Lösung wäre entlang dieser Linien:

XmlSortOrder order = XmlSortOrder.Ascending;
    if ( sortDirection == "asc" ) {
        order = XmlSortOrder.Ascending;
    }
    expression.AddSort( columnSortingOn + "/text()", order, 
        XmlCaseOrder.UpperFirst, "en-us", XmlDataType.Text ); 

Ich habe Leute gesehen, die sagen

"Verwenden usort"

Gefolgt von einem einfachen Beispiel aus dem PHP-manual, sondern das nicht wirklich erklären. Zumindest nicht für mich. Ich habe auch gesehen, wie Leute empfehlen die Verwendung einer externen Bibliothek, wie SimpleDOM aber ich möchte vermeiden, mit etwas externes für diese (scheinbar, obwohl ich noch nicht lösen) kleines Ding.

Jede Hilfe ist willkommen, Danke!

InformationsquelleAutor rg88 | 2010-01-22
Schreibe einen Kommentar