Ошибка в PHP после переноса и обновления сервера Warning: sizeof(): Parameter must be an array or an object that implements Countable in

php 7.4 помогите найти причину нескольких ошибок:

  1. Warning: sizeof(): Parameter must be an array or an object that implements Countable in
  2. Warning: Cannot modify header information - headers already sent by

В первой ошибке ссылается на первую строку:```

if (is_array($time_slots[$dt1_formatted]) && isset($time_slots[$dt1_formatted]) && sizeof($dt1_formatted) > 0)
        {
            foreach ($time_slots[$dt1_formatted] as $index => $time)
            {
                if (isset($day_slots[$time]))
                {
                    $day_slots[$time]["status"] = "free";
                }
            }
        }

Во втором случае на нее же и 2 строки формирующие header файле index.php private function sendSuccessJsonResponse($response)

    Header('HTTP/1.0 200 OK');
    Header('Content-type:application/json;charset=utf-8');

Ответы (1 шт):

Автор решения: Ein

Первая ошибка вам явно говорит в чём проблема: "Параметр должен быть массивом или обьектом, который реализует Countable(Название интерфейса. Досл.: Исчисляемый)". Т.е. вы передате в sizeof что-то что нельзя посчитать. Могу предположить что $dt1_formatted === null. Почему? Нужно смотреть до этого в коде происходит.

Вторая ошибка так же предельно ясно указывает на проблему: "Не могу изменить заголовки - заголовки уже отправлены". Такое произошло из-за того что вместе с ошибкой сервер отправил и заголовки. Заголовки в ответе идут перед телом ответа, поэтому это вполне логичное поведение. Проблема исчезнет когда будет исправлена первая ошибка.

→ Ссылка