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