Мы извлекаем данные с удаленного сервера через их 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 ) ) )
PHP-код, который мы используем для генерации строки html (опять-таки, лишен части кода 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, как только мы получим его с удаленного сервера? Или есть способ изменить порядок вывода PHP при запуске foreach?