我找不到这个问题的完全重复,因为我的节点是数字键。
我需要按日期排序这个xml - 最新的第一个:
[article] => Array
(
[0] => SimpleXMLElement Object
(
[value] => some value
[date] => 2012-08-13 18:54:09
)
[1] => SimpleXMLElement Object
(
[id] => some more value
[date] => 2012-08-09 10:24:06
)
[2] => SimpleXMLElement Object
(
[id] => another value
[date] => 2012-08-11 20:45:44
)
)
我怎样才能做到最好 - 可能无需将XML转换为PHP数组并对其进行排序。
答案 0 :(得分:0)
从您的示例中,看起来您已经拥有了一系列对象,因此usort
可以正常工作。
回调看起来像这样:
function compare_node_dates($a, $b)
{
return
strtotime((string)$b->date)
-
strtotime((string)$a->date);
}
但是,如果你的最外面的变量实际上不是一个数组,那么我没有办法在没有创建数组的情况下做到这一点,对它进行排序,并使用它来构建全新的XML。