【发布时间】:2017-03-02 12:48:18
【问题描述】:
我创建了一个 CSV,如下所示:
Name,Title,Salary,Bonus
Bob White,Manager,50000,1000
Mia Sparrow,Programmer,60000,1500
Steven Seagull,Programmer,58000,1400
然后是下面的代码:
<?php
$row = 1;
$data = [];
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data[] = fgetcsv($handle)) !== FALSE) {
}
fclose($handle);
}
print_r($data);
?>
但不是这个输出:
[0] => Array
(
[0] => Name
[1] => Title
[2] => Salary
[3] => Bonus
)
[1] => Array
(
[0] => Bob White
[1] => Manager
[2] => 50000
[3] => 1000
)
[2] => Array
(
[0] => Mia Sparrow
[1] => Programmer
[2] => 60000
[3] => 1500
)
我在一行中得到所有内容:
Array ( [0] => Array ( [0] => ��NAME TITLE SALARY BONUS ) [1] => Array ( [0] => BOB MANAGER 50000 1000 ) [2] => Array ( [0] => MIA PROGRAMMER 600001 1500 ) [3] => Array ( [0] => STEVEN PROGRAMMER 58000 1400 ) [4] => Array ( [0] => ) [5] => )
如何通过键将其拆分为数组以便我可以使用:
print_r(array_column($data,X));
打印我需要的列?
【问题讨论】:
-
显示
test.csv内容的片段 -
如果你知道这些索引,就可以
echo $data[$salaryColumnIndex]+$data[$bonusColumnIndex]。 -
如果我 echo $data[1] 也许,它会给我错误:未定义的偏移量:1