这是我从CSV文件中使用PHP显示的表格
我想对它进行排序,使得m1的所有行首先出现,然后是空白行,然后是m2,依此类推。
这是我用来将CSV文件显示为表格的代码。
<?php
$filename = basename(__FILE__, ".php");
$f = fopen("$filename.csv", "r");
while (($line = fgetcsv($f)) !== false) {
echo "<tr>";
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
fclose($f);
echo "\n</tbody></table></body></html>";
?>
答案 0 :(得分:1)
您可以使用以下代码渲染表格。这是它的工作原理:
首先从CSV文件
然后它排序第一列升序
遍历每一行并渲染表
$mdarray = array();
$filename = basename(__FILE__, ".php");
$f = fopen("$filename.csv", "r");
while (($line = fgetcsv($f)) !== false) {
{
array_push($mdarray, $line);
}
fclose($f);
foreach ($mdarray as $key => $row) {
$names[$key] = $row[0];
}
array_multisort($names, SORT_ASC, $mdarray);
//array_multisort(array_column($mdarray, 0), SORT_ASC, $mdarray);//php version >=5.5
foreach ($mdarray as $line) {
echo "<tr>";
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
echo "<hr>"; // blank line
}