Помогите понять поведение скрипта.
Есть два вложенных foreach-цикла, внутри вложенного - условие, при выполнении которого делается continue; . Задумано, что оно должно продолжить внутренний цикл. Но почему-то этого не происходит - скрипт прерывается вовсе. Краткий квотез:
foreach($dates as $pppricedate) {
foreach($array as $value) {
// skipped
$test = system("7z t $curpath/".$value['date'].".zip | grep xls");
if (trim($test) == "") {
echo "!!!";
continue;
}
// skipped
}
}
т.е. условием я проверяю архив на наличие Эксель-файла. Если нету - нужно продолжить цикл в следующей итерации.
Путем принт-отладки выяснил, что первый и единственный раз процесс до условия доходит на самой последней итерации внутреннего цикла. Т.е., по всей логике, после continue должна начаться следующая итерация верхнего цикла (внутренний уже закончился).
Что я делаю не так? Что я не понимаю?