$file = file('file.csv');
$counter=0;
foreach($file as $k){
if(preg_match('/"/', $k)==1){
$csv[] = explode(',', $k);
}
foreach($k as $key => $value){
if($value == 'specific value'){
$counter++;
}
}
}
// print_r($csv);
echo $counter;
$ k正确输出为逗号分隔值数组;我正在尝试分析每行$ k的逗号分隔值...获取“为foreach()提供的无效参数”错误...
答案 0 :(得分:0)
检查,更好$k
是一个数组(is_array($k)
,如果它不是空的!empty($k)
(与count(arr)相同> 0)。同样你应该检查你的CSV-文件中的空白行,隐藏的返回/制表符等等。
$file = file('file.csv');
$counter=0;
foreach($file as $k){
if(preg_match('/"/', $k)==1){
$csv[] = explode(',', $k);
}
if (!is_array($k) OR empty($k)) { continue; }
foreach($k as $key => $value){
if($value == 'specific value'){
$counter++;
}
}
}
// print_r($csv);
echo $counter;
答案 1 :(得分:0)
对我来说似乎$ k是一个字符串,而$ csv是你要迭代的数组。