严格使用php或javascript按第一列对CSV文件进行排序
这是我用PHP从CSV文件显示的表 我想对它进行排序,使m1的所有行都排在第一位,然后是一个空行,然后是m2,依此类推 这是我用来将CSV文件显示为表格的代码严格使用php或javascript按第一列对CSV文件进行排序,javascript,php,csv,sorting,Javascript,Php,Csv,Sorting,这是我用PHP从CSV文件显示的表 我想对它进行排序,使m1的所有行都排在第一位,然后是一个空行,然后是m2,依此类推 这是我用来将CSV文件显示为表格的代码 <?php $filename = basename(__FILE__, ".php"); $f = fopen("$filename.csv", "r"); while (($line = fgetcsv($f)) !== false) { echo "<tr>"; foreach (
<?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>";
?>
您可以使用以下代码呈现表格。这就是它的工作原理:
$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
}
$mdarray=array();
$filename=basename(_文件,“.php”);
$f=fopen($filename.csv,“$r”);
而(($line=fgetcsv($f))!==false){
{
阵列推送($mdarray,$line);
}
外国法郎(f美元);
foreach($mdarray作为$key=>$row){
$names[$key]=$row[0];
}
数组\u multisort($names,SORT\u ASC,$mdarray);
//array_multisort(array_column($mdarray,0),SORT_ASC,$mdarray);//php版本>=5.5
foreach($mdarray作为$line){
回声“;
foreach($行作为$单元格){
echo“.htmlspecialchars($cell)”;
}
回音“\n”;
echo“
”;//空行
}
非常感谢,但是调用未定义函数array_column()时出错它没有显示任何内容。您使用的是哪个php版本?我已经更新了代码以支持旧版本的php@Gaurav请不要忘记将其标记为已接受,以便其他人将来可以从中获得帮助。while语句后面的开放括号是否必要?!