Всякий раз, когда я вижу это, это означает, что то, что я пытаюсь перебрать, не является массивом.
Проверьте $data['tests']
(и каждый внутренний $tests
), чтобы убедиться, что он не равен null / unset / empty и что он является чем-то итеративным, как массив. Также имейте в виду, что более старые версии PHP (до 5.0?) Не очень хорошо выполняют итерируемые объекты.