$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(( 提供的参数无效"错误...
检查,$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;
在我看来
$k是一个字符串,而$csv是您要迭代的数组。