Перебрать CSV-файл и пропустить пока на круге?

Я хочу перебрать файл CSV и проверить, есть ли в строке позиции [1] определенные страны. Если да, то время круга следует пропустить до следующего ряда.

Но на данный момент это не удается из-за моего условия if:

$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 соответствует одной стране из моего массива, фактический круг должен быть пропущен, потому что я не хочу обрабатывать продукт, если он из этих стран. Но как я могу сказать, что это актуально в то время как круг?

Я не хочу, чтобы остановить отверстие во время цикла, только в то время как круг, где row[1] соответствует одной из стран в моем массиве стран.

У кого-нибудь есть идея?
Приветствую и спасибо!

РЕДАКТИРОВАТЬ:
Теперь я знаю, как пропустить реальный круг и сказать, чтобы цикл продолжился на следующем круге. Я просто использую continue;, Но есть еще моя другая, если условие проблемы …: /

0

Решение

$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) ...
}
1

Другие решения

Других решений пока нет …