所以我试图将$ gender和$ grade结合起来,然后从我的数组中间删除它们并将它们放在最后。这是我到目前为止,但它添加到最后但它们仍然在输出文件的中间。我觉得我在这里缺少一些简单的东西。有什么建议吗?
<?php
$inputFile = "Student_Data.csv";
$outputFile = "test.csv";
$count = 0;
$out = fopen($outputFile, "w");
$in = fopen($inputFile, "r");
while ($row = fgetcsv($in)) {
$gender = array($row[6]);
$grade = array($row[7]);
$merge = array_merge ($gender, $grade);
$final = array_merge ($row, $merge);
$sisline = implode(",", $final) . "\r\n";
print_r ($sisline);
$count++;
}
fclose($out);
fclose($in);
?>
答案 0 :(得分:1)
提取值后,将其从束缚中移除。
$gender = array($row[6]);
$grade = array($row[7]);
unset($row[6],$row[7]);
或者说是单线解决方案。
$row = array_diff_key($row,array_flip(array(6,7))) + $row;
答案 1 :(得分:0)
因为您想要的两个键是连续的,所以您可以选择它们并使用array_splice
$genderAndGrade = array_splice($row, 6, 2);
$final = array_merge($row, $genderAndGrade);