【发布时间】:2022-01-19 04:35:08
【问题描述】:
我已经坚持了几个小时试图解决这个问题。
我正在使用 cURL 和 PHP 从 API 获取数据,然后在表格中显示该数据。我有我的表格设置来显示比赛的开始位置、他们完成的位置、人的姓名以及他们完成的距离。
在我的专栏中,他们完成的 API 落后了多少,并没有考虑到有人可能无法完成比赛中的所有圈数。例如,第 2 名落后领先者 4.285 秒,但第 14 名落后领先者 0.929 秒,因为他们落后于领先者和第二名之间的一圈。
我正在尝试找出未完成所有圈数的第一个位置(这可能是每场比赛的不同位置),然后是第一个人落后一圈后的每个位置。如果这有意义的话。
以下是 API 响应,我正在尝试比较来自 ResultTime 键的数据。
{
"RequestValid": 1,
"ItemsReturned": 1,
"Classes": [
{
"Races": [
{
"RaceName": "Feature",
"RaceType": "Feature",
"RaceOrder": 1,
"RaceLevel": "A",
"RaceLaps": 50,
"RaceTime": "00:27:39.532",
"RacePresenter": "",
"RaceNotes": "",
"RaceStatus": "Completed",
"Results": [
{
"ResultPlace": 1,
"ResultStart": 4,
"ResultTime": "1659.532",
"ResultCarNum": "49",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 2,
"ResultStart": 2,
"ResultTime": "1663.817",
"ResultCarNum": "1",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 3,
"ResultStart": 7,
"ResultTime": "1664.368",
"ResultCarNum": "28",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 4,
"ResultStart": 13,
"ResultTime": "1664.544",
"ResultCarNum": "1T",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 5,
"ResultStart": 1,
"ResultTime": "1665.218",
"ResultCarNum": "7",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 6,
"ResultStart": 8,
"ResultTime": "1666.842",
"ResultCarNum": "01",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 7,
"ResultStart": 10,
"ResultTime": "1668.640",
"ResultCarNum": "14",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 8,
"ResultStart": 15,
"ResultTime": "1670.214",
"ResultCarNum": "8",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 9,
"ResultStart": 21,
"ResultTime": "1672.037",
"ResultCarNum": "111V",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 10,
"ResultStart": 9,
"ResultTime": "1674.171",
"ResultCarNum": "44",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 11,
"ResultStart": 17,
"ResultTime": "1674.247",
"ResultCarNum": "16",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 12,
"ResultStart": 19,
"ResultTime": "1674.732",
"ResultCarNum": "72",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 13,
"ResultStart": 23,
"ResultTime": "1675.363",
"ResultCarNum": "99B",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 14,
"ResultStart": 16,
"ResultTime": "1660.461",
"ResultCarNum": "10",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 15,
"ResultStart": 24,
"ResultTime": "1663.480",
"ResultCarNum": "B1",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 16,
"ResultStart": 22,
"ResultTime": "1666.772",
"ResultCarNum": "7R",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 17,
"ResultStart": 6,
"ResultTime": "1669.867",
"ResultCarNum": "20",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 18,
"ResultStart": 14,
"ResultTime": "1673.277",
"ResultCarNum": "111",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 19,
"ResultStart": 12,
"ResultTime": "1387.076",
"ResultCarNum": "19R",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 20,
"ResultStart": 20,
"ResultTime": "1353.423",
"ResultCarNum": "0H",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 21,
"ResultStart": 5,
"ResultTime": "1340.342",
"ResultCarNum": "11",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 22,
"ResultStart": 11,
"ResultTime": "1284.877",
"ResultCarNum": "76",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 23,
"ResultStart": 3,
"ResultTime": "962.947",
"ResultCarNum": "39",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 24,
"ResultStart": 18,
"ResultTime": "239.697",
"ResultCarNum": "23B",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
},
{
"ResultPlace": 25,
"ResultStart": 25,
"ResultTime": "156.942",
"ResultCarNum": "42",
"ResultDNF": 0,
"ResultDNS": 0,
"ResultDQ": 0,
}
]
},
]
}
更新 2 以显示代码
foreach ($raceresults as $raceresult) {
//Checking if race has a time
if ($raceresult['ResultTime'] == "0.000") {
$racetime = "No Time";
$laptimebehindpadded = "No Time";
} else {
//Getting Time of Race
$racetime = $raceresult['ResultTime'];
//Taking leaders overall time and subtracting each position to get time behind.
$laptimebehind = $quicktime - $racetime;
//Converting time behind to show 3 decimal places
$laptimebehindpadded = sprintf('%0.3f', $laptimebehind);
}
}
echo $laptimebehindpadded;
【问题讨论】:
-
我不确定你的代码是什么。您有一个变量 $quicktime 未在您提供的代码中的任何地方定义。您也不会从获取现有数组变量并将其分配给另一个具有不同名称的变量(即)中获得任何好处。
$racetime = $raceresult['ResultTime']; -
也许这将有助于澄清你实际试图推断的内容,除了我已经指出的那样,任何时候有人完成了