我想知道是否有人可以帮助我。
我有一个将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的下一行开始?
干杯,
答案 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"
}