我们正在通过他们的 API 从远程服务器获取数据。不幸的是,他们的 API 没有按日期对返回的数据进行排序。
我正在尝试弄清楚如何重新组织数据以使其按 next_bookable_date 排序,但没有取得多大成功。我们使用 PHP 和 SimpleXMLElement 来解析数据并创建一个字符串,然后将其插入网页。但当前结果的顺序与返回的 XML 中出现的数据顺序相同。
基本的 XML 结果如下。为了节省空间,我删除了更多数据。
SimpleXMLElement Object
(
[request] => GET search.xml?start_date=2013-05-03&end_date=2013-05-17
[error] => OK
[total_tour_count] => 4
[tour] => Array
(
[0] => SimpleXMLElement Object
(
[next_bookable_date] => 2013-05-13
[tour_name] => Thailand Tour
)
[1] => SimpleXMLElement Object
(
[next_bookable_date] => 2013-05-12
[tour_name] => Bali Tour
)
[2] => SimpleXMLElement Object
(
[next_bookable_date] => 2013-05-05
[tour_name] => Hawaii Tour
)
[3] => SimpleXMLElement Object
(
[next_bookable_date] => 2013-05-06
[tour_name] => Bhutan Tour
)
)
)
我们用来生成 html 字符串的 PHP 代码(再次剥离了一些 html 代码以节省空间):
foreach($result->tour as $tour) {
$tourname = $tour->tour_name;
$tourdate = $tour->next_bookable_date;
// create string for dpt-soon
$dpt_soon_list .= "<li> some html using the above values </li>\n";
}
一旦我们从远程服务器接收到 XML 数据,有没有办法重新排序?或者有没有办法在运行 foreach 时重新排序 PHP 输出?