PHP:按一列数字排序CSV输出?

时间:2015-08-14 18:35:05

标签: php sorting csv

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

我正在尝试按CSV文件中的一列对输出(DESCENDING)进行排序:$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)

但我不认为这是正确的!

有人可以就此提出建议吗?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

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