如何组织火车出发时间?(How to organize train departure times? PHP natural sort? [duplicate])

编程入门 行业动态 更新时间:2024-10-27 19:16:58
如何组织火车出发时间?(How to organize train departure times? PHP natural sort? [duplicate])

这个问题在这里已经有了答案:

我如何在PHP中对数组和数据进行排序? 8个答案

我正在使用下面的代码来输出火车出发时间。 但我无法按照出发时间对它们进行排序。 我是新来的编码,所以不知道如何解决这个问题。 我如何使用自然排序或其他解决方案来进行排序?

<?php $url = 'http://api.sl.se/api2/realtimedepartures.json?key=xxxx&siteid=9192&timewindow=30'; $jsondata = file_get_contents($url); $json = json_decode($jsondata,true); foreach ($json['ResponseData']['Metros'] as $metro) { if ($metro['DisplayTime'] != "Nu") { $output .= "<ul><li><strong>".$metro['DisplayTime'].".</strong> </li>"; } else { $output .= "<ul><li><strong>".$metro['DisplayTime']." avgår </strong></li>"; } $output .= "<li>".$metro['GroupOfLine']."</li>"; $output .= "<li> nr ".$metro['LineNumber']." </li>"; $output .= "<li> till<strong> ".$metro['SafeDestinationName']."</strong></li></ul>"; } echo $output; ?>

输出示例可以在http://beta.tunnelbanakarta.se/slussen查看

This question already has an answer here:

How can I sort arrays and data in PHP? 10 answers

I'm using the below code to output train departure times. But I can't get them sorted by time of departure. I'm new to coding so not sure how to solve this. How can I use natural-sort or some other solution to get this sorted?

<?php $url = 'http://api.sl.se/api2/realtimedepartures.json?key=xxxx&siteid=9192&timewindow=30'; $jsondata = file_get_contents($url); $json = json_decode($jsondata,true); foreach ($json['ResponseData']['Metros'] as $metro) { if ($metro['DisplayTime'] != "Nu") { $output .= "<ul><li><strong>".$metro['DisplayTime'].".</strong> </li>"; } else { $output .= "<ul><li><strong>".$metro['DisplayTime']." avgår </strong></li>"; } $output .= "<li>".$metro['GroupOfLine']."</li>"; $output .= "<li> nr ".$metro['LineNumber']." </li>"; $output .= "<li> till<strong> ".$metro['SafeDestinationName']."</strong></li></ul>"; } echo $output; ?>

Example of the output can be viewed at http://beta.tunnelbanakarta.se/slussen

最满意答案

您可以使用usort()函数对数组进行排序。

<?php function cmp($a, $b) { if ($a['DisplayTime'] == $b['DisplayTime']) { return 0; } return ($a['DisplayTime'] < $b['DisplayTime']) ? -1 : 1; } $url = 'http://api.sl.se/api2/realtimedepartures.json?key=xxxx&siteid=9192&timewindow=30'; $jsondata = file_get_contents($url); $json = json_decode($jsondata,true); usort($json['ResponseData']['Metros'], "cmp"); foreach ($json['ResponseData']['Metros'] as $metro) { if ($metro['DisplayTime'] != "Nu") { $output .= "<ul><li><strong>" . $metro['DisplayTime'] . ".</strong> </li>"; } else { $output .= "<ul><li><strong>" . $metro['DisplayTime'] . " avgår </strong></li>"; } $output .= "<li>" . $metro['GroupOfLine'] . "</li>"; $output .= "<li> nr " . $metro['LineNumber'] . " </li>"; $output .= "<li> till<strong> " . $metro['SafeDestinationName'] . "</strong></li></ul>"; } echo $output; ?>

应该可以工作,但自从我使用这些函数(或PHP)之后已经很长时间了,所以最好仔细研究一下,看看能否找到一种更干净的方式。

You could use the usort() function to sort the array.

<?php function cmp($a, $b) { if ($a['DisplayTime'] == $b['DisplayTime']) { return 0; } return ($a['DisplayTime'] < $b['DisplayTime']) ? -1 : 1; } $url = 'http://api.sl.se/api2/realtimedepartures.json?key=xxxx&siteid=9192&timewindow=30'; $jsondata = file_get_contents($url); $json = json_decode($jsondata,true); usort($json['ResponseData']['Metros'], "cmp"); foreach ($json['ResponseData']['Metros'] as $metro) { if ($metro['DisplayTime'] != "Nu") { $output .= "<ul><li><strong>" . $metro['DisplayTime'] . ".</strong> </li>"; } else { $output .= "<ul><li><strong>" . $metro['DisplayTime'] . " avgår </strong></li>"; } $output .= "<li>" . $metro['GroupOfLine'] . "</li>"; $output .= "<li> nr " . $metro['LineNumber'] . " </li>"; $output .= "<li> till<strong> " . $metro['SafeDestinationName'] . "</strong></li></ul>"; } echo $output; ?>

Should work but it's been a long time since I used these function (or PHP for that matter) so best look into it to see if you can find a cleaner way.

更多推荐

本文发布于:2023-08-03 17:21:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1395110.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:火车   组织   时间   train   organize

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!