我正在尝试从包含车辆品牌,型号,里程等的CSV文件中提取数据......
在php中使用此示例 -
<?php
$csv = array_map('str_getcsv', file('csv/csvin.csv'));
array_walk($csv, function(&$a) use ($csv) {
$a = array_combine($csv[0], $a);
});
array_shift($csv);
foreach($csv as $car){
foreach($car as $key=>$value){
echo "<div id='car'>".$key.":".$value."</div></br>";
}
}
?>
这是我得到的数组 -
BodyStyle:"Station Wagon"
"DaysInStock":"27"
"Make":"Toyota"
"Model":"Prius v"
"MSRP":"0"
"SellingPrice":"26995"
"StockNumber":"387515"
"Trim":"Three"
"VIN":"JTDZN3EU9E3306528"
"Year" :"2014"
现在,当我试图操纵或拉动任何单个值时,我根本无法做到。如何使用HTML标记为每个值显示此信息?
我试过这个:
print_r ($csv[0]['Make'];
echo $csv[0]['Make'];
只是尝试显示一个值,但仍然没有。我注意到由于某种原因,“BodyStyle”不包含其他类似的引号所以肯定看起来很可疑。
从这里我如何剥离引号并打破每个值?
这是抛出的错误 - 在
中为foreach()提供的参数无效提前致谢!
答案 0 :(得分:1)
foreach($csv as $car){
echo "<tr><td>Make:</td><td>".$car['Make']."</td></tr>";
}
或者:
foreach($csv as $car){
foreach($car as $key=>$value){
echo "<tr><td>".$key."</td><td>".$value."</td></tr>";
}
}
或者:
echo $csv[0]['Make'];
答案 1 :(得分:0)
试试这个:
print_r ($csv[0]['Make']);
基本上$ csv变量是一个数组,要获得它的值,你必须使用循环函数,如:
foreach ($csv as $data) {
foreach ($data as $index => $value) {
if ($index == "make") {
echo $value;
}
}
}
如果你注意到一点,外部数组称为索引数组(带索引的数组),并使用foreach遍历值($ csv作为$ data),而内部数组称为关联数组(此数组不使用数字作为索引,但使用名称),并使用foreach遍历它($ data as $ index =&gt; $ value)。 试试吧,你会看到:) PS:对不起,我没有注意到内部阵列,对于这种情况,理查德的答案是正确的。为了给出正确的答案,我已经为他的答案增添了一笔荣誉。
答案 2 :(得分:0)
所以我发现我只需要一个foreach循环 -
inspectionid
立即行动,感谢大家的帮助!