将数组移动到数组的末尾

时间:2018-03-29 22:15:11

标签: php

所以我试图将$ 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);


?>

2 个答案:

答案 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);