PHP:按一列的数字对CSV输出进行排序


PHP: sorting CSV output by numeric of one column?

我正在使用PHP从CSV文件创建一个表。

我试图从CSV文件中对输出(降序)排序一列,即:$line_of_text[13]

但是我不知道如何做到这一点,因为它不像排序输出那样直接,如果我使用mysql。

这是我的全部代码:

<?php
$file_handle = fopen("MY-CSV-FILE.csv", "r");
print "<table style='width:100%; float:left;'>'n";
while (!feof($file_handle) ) {


    //print '<tr>';
    $line_of_text = fgetcsv($file_handle, 1024);
$line_of_text = str_replace('http', '<a  href=""><img title="Click To Enlarge" class="fancybox" style="width:210px; height=210px; float:left;" src ="http', $line_of_text);
$line_of_text = str_replace('jpg', 'jpg"/></a>', $line_of_text);
$line_of_text = str_replace(',', '', $line_of_text);
$line_of_text = str_replace('PictureRefs', '', $line_of_text);
asort($line_of_text);
foreach($line_of_text as $key => $value)
    print "<tr><td>".$line_of_text[9].'</td><td>'.$line_of_text[10].'</td><td>'.$line_of_text[2].'</td><td>'.$line_of_text[5].'</td><td>'.$line_of_text[6].'</td><td>'.$line_of_text[7].'</td><td>'.$line_of_text[8].'</td><td>'.$line_of_text[3].'</td><td>'.$line_of_text[4].'</td><td>'.$line_of_text[11].'</td><td>'.$line_of_text[12].'</td><td>'.$line_of_text[13].'</td><td>'.$line_of_text[14].'</td><td>'.$line_of_text[15]."</td></tr>'n<tr><td width='100%' colspan='100'><div style=' width:100%;'>".$line_of_text[16]."</div></td></tr>";

}
print '</table>';
fclose($file_handle);
?>

正如你所看到的,我已经开始这样做了:

asort($line_of_text);
foreach($line_of_text as $key => $value)

但我不认为这是正确的!

有人能给点建议吗?

需要将所有行加载到一个数组中,进行排序,然后回显表。你需要把它分成两个循环