相关疑难解决方法(0)

对SimpleXML对象数组进行排序

我已经阅读了我在Stackoverflow上发现的内容并且仍然不清楚这一点.

我有一个SimpleXML对象数组,如下所示:

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"
  }
}
Run Code Online (Sandbox Code Playgroud)

而且我希望能够按任何列排序,升序或降序.就像是:

sort($data, 'name', 'asc');
Run Code Online (Sandbox Code Playgroud)

我可以传递上面的对象数组,并按照我喜欢的任何键的值进行排序.

作为参考,类似的.NET解决方案将沿着这些方向:

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

我见过有人说

"使用usort"

接下来是PHP手册中的一个基本示例,但这并没有真正解释它.至少不是我.我也看到人们建议使用像SimpleDOM这样的外部库,但我想避免使用外部的东西(貌似,虽然我还不能解决)小事.

任何帮助表示赞赏,谢谢!

php sorting simplexml

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

php ×1

simplexml ×1

sorting ×1