gpt4 book ai didi

javascript - PHP 数组排序到 HTML 表中

转载 作者:行者123 更新时间:2023-11-28 00:00:21 24 4
gpt4 key购买 nike

我在我的游戏中通过 FTP 实现了在线评分系统。在这里,看一下更新的文本文件:

User0:1000
User1:1500
User2:250
User3:700

然后,我要做的是创建一个包含 3 列的表:排名 |名称 |得分

我已经能够提取每行的名称和分数:

<table><td>Rank</td><td>Name</td><td>Score</td>
<?php $lines = file("./scores/pk.txt");
for($i=0;$i<count($lines);$i++) {
echo "<tr><td></td>";
echo "<td>".substr($lines[$i],0,strpos($lines[$i],":"))."</td>";
echo "<td>".substr($lines[$i],strpos($lines[$i],":")+1)."</td>";
echo "</tr>";
} ?> </table<

但是你知道,如果我执行此操作,我会将第一列清空(因为“”)。

所以我的问题(最后)是:

How to sort this array by third column and assigning the right rank in the first column ?

在我的示例中,它看起来像:

排名|姓名 |分数

   1     |用户1 | 1500

   2     |用户0 | 1000

   3     |用户3 | 700

   4     |用户2 | 250

最佳答案

这应该适合你:

只需使用 array_map() 循环遍历文件的每一行即可和 explode()用冒号来表示。

然后你可以简单地用 usort() 对其进行排序。然后您可以在表格中显示数据。

<?php

$lines = file("./scores/pk.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$lines = array_map(function($v){
return explode(":", $v);
}, $lines);

usort($lines, function($a, $b){
return $b[1] - $a[1];
});

echo "<table border='1'><tr><td>Rank</td><td>Name</td><td>Score</td></tr>";
foreach($lines as $rank => $line)
echo "<tr><td>" . ($rank+1) . "</td><td>" . $line[0] . "</td><td>" . $line[1] . "</td></tr>";
echo "</table>";
?>

输出:

Rank    Name    Score
1 User1 1500
2 User0 1000
3 User3 700
4 User2 250

关于javascript - PHP 数组排序到 HTML 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31863993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com