如何在PHP中对CSV文件中的表中的列进行排序?
我尝试从PHP中的CSV文件中对第二列进行排序。 我使用此代码进行排序,但我没有得到排序,这是我的代码:如何在PHP中对CSV文件中的表中的列进行排序?,php,csv,sorting,html-table,Php,Csv,Sorting,Html Table,我尝试从PHP中的CSV文件中对第二列进行排序。 我使用此代码进行排序,但我没有得到排序,这是我的代码: if (($handle = fopen($address_book, "r")) !== FALSE) { $text_to_html = "<table border='1'>"; $sum = array(); while (($data = fgetcsv($handle, 1000)) !== FALSE) { arr
if (($handle = fopen($address_book, "r")) !== FALSE) {
$text_to_html = "<table border='1'>";
$sum = array();
while (($data = fgetcsv($handle, 1000)) !== FALSE) {
array_push($sum, $data[0]);
array_push($mdarray, $data);
$num = count($data);
//echo "<p> $num fields in line <br /></p>\n";
if ( $data[0] == "first_name" ) {
//first loop of while will print table header
$text_to_html .= "<tr><th>";
for ($c=0; $c < $num; $c++) {
//echo $data[$c] . "<br />\n";
$text_to_html .= $data[$c] . "</td><td>";
}
$text_to_html .= "</th></tr>";
} else {
$text_to_html .= "<tr><td>";
$first_name = $data[0];
$last_name = $data[1];
$text_to_html .= $last_name . "</td><td>";
$text_to_html .= "</td></tr>";
}
}
fclose($handle);
foreach ($mdarray as $key => $row) {
$names[$key] = $row[1];
}
array_multisort(array_column($mdarray, 1), SORT_ASC, $mdarray);
if($handle=fopen($address\u book,“r”)!==FALSE){
$text_to_html=“”;
$sum=array();
while(($data=fgetcsv($handle,1000))!==FALSE){
数组_push($sum,$data[0]);
数组推送($mdarray,$data);
$num=计数($data);
//echo“$num行中的字段
\n”;
如果($data[0]=“first_name”){
//while的第一个循环将打印表格标题
$text_to_html.=“”;
对于($c=0;$c<$num;$c++){
//echo$data[$c]。“
\n”;
$text_to_html.=$data[$c]。“”;
}
$text_to_html.=“”;
}否则{
$text_to_html.=“”;
$first_name=$data[0];
$last_name=$data[1];
$text_to_html.=$last_name.“;
$text_to_html.=“”;
}
}
fclose($handle);
foreach($mdarray作为$key=>$row){
$names[$key]=$row[1];
}
数组\多排序(数组\列($mdarray,1),排序\ ASC,$mdarray);
谢谢:)只需将$mdarray声明为while循环之外的数组并检查。代码中有两个错误 首先是:您没有将
$mdarray
声明为array()。如果不声明array,array\u push将无法工作
第二个问题是:您没有在末尾关闭foreach循环,这里缺少右括号
foreach ($mdarray as $key => $row) {
$names[$key] = $row[1];
解决这些错误后,您将获得排序数组。当您希望对数据进行排序时,看起来好像是在显示此代码中的信息后对其进行排序。