迭代CSV文件并跳过一圈?

问题描述:

我想迭代一个CSV文件,并检查位置行[1]是否是某些国家。如果是,则应该跳到下一行。迭代CSV文件并跳过一圈?

但此刻它是我的,如果病情未能由于:

$countries = array("Österreich", "Schweiz", "Niederlande", "Großbritannien", "United States"); 

while (($row = fgetcsv($inputFile, 0, $delimiter)) !== false) { 
     foreach ($countries as $country){ 
      if(((stripos($row[1], $country === false))) && stripos($row[0], "Card")){ 
       echo $row[0] . "\t => \t" . $row[1] . "\n"; 
      } 
     } 
... some other code (Dealing with the values) ...  
} 

要继续编码我检查,如果我的说法是对的,如果我得到所需的值。但我不。

我只想获得国家不是数组中的国家之一的值,如果row[1]中的标题包含card这个词。但如果我使用这个条件,我没有得到任何价值。 但是,怎么了?

这是一个CSV样本:

products_name;products_edition 
"PlayStation Network Card 20€";"Deutschland "; 
"PlayStation Network Card 50€";Österreich; 
"Playstation Plus Live Card - 365 Tage";Deutschland; 
"PlayStation Network Card 10£ ";Großbritannien; 
"PlayStation Network Card 20$";"United States"; 

所以实际我应该得到"PlayStation Network Card 20€";"Deutschland ";"Playstation Plus Live Card - 365 Tage";Deutschland;。但我不...

有人知道为什么,如果是的话我该如何解决?

我的第二个问题是: 如果products_edition一个值与一个国家从我的阵列,实际而圈应该得到跳过,因为我不想处理的产品,如果它是来自这些国家的匹配。但是,我怎么能说出这一段时间呢?

我不想停止这个洞while while循环,只有一圈,其中row[1]匹配我国的阵列国家之一。

有没有人有想法? 问候,谢谢!

编辑: 我现在知道如何跳过实际循环圈并告诉循环继续下一圈。我只是用continue;。但还有我的其他条件问题...:/

$countries = array("Österreich", "Schweiz", "Niederlande", "Großbritannien", "United States"); 
while (($row = fgetcsv($inputFile, 0, $delimiter)) !== false) { 
    if (in_array($row[1], $countries) && strpos($row['1'], "Card") !== false) { 
     continue; 
    } 
    echo $row[0] . "\t => \t" . $row[1] . "\n"; 
//... some other code (Dealing with the values) ...  
} 
+0

非常感谢! – Jan