0
排序有了下面的代码,我得到留下的到来从API与[DisplayTime]如何将字符串转换为数字在PHP中正确的顺序
. $output .= "<ul><li><strong>" . $metro['DisplayTime'] . ".</strong>
目前的时间就得到由只订第一个号码,例如
11分钟。
22:07。
26分钟。
6分钟。
8分钟。
但我需要它来正确完整的电话号码值进行排序:
下一班列车到达:
6分钟。
8分钟。
11分钟。
26分钟。
22:07。 (应分钟的时间后显示二十四小时制时间)
完整的代码片段:
<?php
function cmp($a, $b)
{
if ($a['DisplayTime'] == $b['DisplayTime']) {
return 0;
}
return ($a['DisplayTime'] < $b['DisplayTime']) ? -1 : 1;
}
$url = 'http://api.whateverurl.com';
$jsondata = file_get_contents($url);
$json = json_decode($jsondata,true);
usort($json['ResponseData']['Metros'], "cmp");
foreach ($json['ResponseData']['Metros'] as $metro) {
if ($metro['DisplayTime'] != "Now") {
$output .= "<ul><li><strong>" . $metro['DisplayTime'] . ".</strong>
</li>";
} else {
$output .= "<ul style='display:none;'><li><strong>" .
$metro['DisplayTime'] . " departs </strong></li>";
}
$output .= "<li>" . $metro['GroupOfLine'] . "</li>";
$output .= "<li> nr " . $metro['LineNumber'] . " </li>";
$output .= "<li> to<strong> " . $metro['Destination'] . "</strong></li>
</ul>";
}
echo $output;
?>
['intval'](http://php.net/manual/en/function.intval.php)然后['sort'](http://php.net/manual/en/function.sort。 PHP)? – Script47
你的比较功能在哪里? “CMP”? –
小时怎么办?可能会在2小时内结果? 'intval'由'22:07'制成,只是'22',所以这个值将在26分钟之前放置。您应该先删除冒号。 – LiTe