【问题标题】:PHP - Remove first result in array [duplicate]PHP - 删除数组中的第一个结果[重复]
【发布时间】:2025-12-22 22:05:08
【问题描述】:

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

我有一个将 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 中的下一行开始?

干杯,

【问题讨论】:

标签: php csv


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    或者,您可以使用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"
    }
    

    【讨论】: