Посмотрите, что вы делаете:
foreach ($data as $data)
Вы перезаписываете содержимое $data
, затем вы получаете доступ к $data
, ожидая, что он все еще будет исходным массивом.Это просто неправильно.
Возьмите дополнительное имя переменной, довольно распространенным является $value
:
foreach ($data as $value)
Надеюсь, это поможет, даже если он не отвечает на ваш вопрос, но это может быть частьютвоя проблема, так что береги себя;)