PHP - 删除数组中的第一个结果

时间:2014-10-26 01:53:50

标签: php csv

我想知道是否有人可以帮助我。

我有一个将CSV导入数组的函数,但是我需要用

删除第一行

我的CSV格式如下:

lat,lng,id
-34.837834,1387457,2

等等,你得到了ID

我的功能看起来像这样

private function getArrayFromCsv($file,$delimiter)
{ 

    if (($handle = fopen($file, "r")) !== FALSE) { 

        $i = 0; 
        while (($lineArray = fgetcsv($handle, 4000, $delimiter)) !== FALSE) { 

            for ($j=0; $j<count($lineArray); $j++) { 

                $dataArray[$i][$j] = $lineArray[$j]; 

            } 

            $i++; 

        } 

        fclose($handle); 

    } 

    return $dataArray; 

}

输出的数组如下:

Array
(
    [0] => Array
        (
            [0] => lat
            [1] => lng
            [2] => id
        )

    [1] => Array
        (
            [0] => -34.837834
            [1] => 1387457
            [2] => 2

依旧.....

如何删除显示lat,lng,id的数组并从CSV的下一行开始?

干杯,

2 个答案:

答案 0 :(得分:3)

要从数组中删除元素,
    未设置($ dataArray中[0]);
请注意,其他元素索引是相同的。

答案 1 :(得分:1)

或者,您可以使用array_shift,这也会重置数组上的索引,而unset则不会。

$unsetTest = array('hey','now','brown','cow');
$shiftTest = array('hey','now','brown','cow');

unset($unsetTest[0]);
array_shift($shiftTest);

var_dump($unsetTest);
var_dump($shiftTest);

//output

array(3) {
  [1]=>
  string(3) "now"
  [2]=>
  string(5) "brown"
  [3]=>
  string(3) "cow"
}

array(3) {
  [0]=>
  string(3) "now"
  [1]=>
  string(5) "brown"
  [2]=>
  string(3) "cow"
}