0 Пользователей и 1 Гость просматривают эту тему.
  • 7 Ответов
  • 137 Просмотров
*

Stasweb

  • Завсегдатай
  • 1328
  • 23 / 0
Ошибка Warning: count():
« : 04.06.2019, 09:03:18 »
При включении отображения всех ошибок появилось
Warning: count(): Parameter must be an array or an object that implements Countable inВот код
Код
    function treerecurse($id,$list, &$children, $maxlevel = 9999, $level = 0){
        if (@$children[$id] && $level <= $maxlevel)
        {
            foreach ($children[$id] as $v)
            {
                $id = $v->id;
                $list[$id] = $v;
                $list[$id]->children = count(@$children[$id]);
                $list[$id]->level = $level;
                $list = $this->treerecurse($id,$list, $children, $maxlevel, $level + 1);
            }
        }
        return $list;
    }
Модуль использую JUX VM Megamenu, при этом меню работает нормально. Подскажите как победить ошибку
*

AlekVolsk

  • Гуру
  • 6821
  • 396 / 4
Re: Ошибка Warning: count():
« Ответ #1 : 04.06.2019, 09:22:43 »
предупреждение гласит о том, что в функцию count() передаётся параметр, не поддающийся подсчёту, т.е. это не является массивом или диассоциированным перечисляемым объектом, т.е. счётным элементом.

попробуйте переписать строку, в которой присутствует count, примерно так:
Код: php
$list[$id]->children = (is_array($children[$id]) || (is_object($children[$id]) && ($children[$id] instanceof \Traversable ))) ? count($children[$id]) : 0;
*

draff

  • Живу я здесь
  • 4054
  • 270 / 7
  • Ищу работу
Re: Ошибка Warning: count():
« Ответ #2 : 04.06.2019, 09:53:04 »
Тут же подавляют ошибку
Код
@$children[$id]
а мы сразу выходим, если пусто
Код
 function treerecurse($id,$list, &$children, $maxlevel = 9999, $level = 0){
if(empty($children)) return;
        if (@$children[$id] && $level <= $maxlevel)
*

Stasweb

  • Завсегдатай
  • 1328
  • 23 / 0
Re: Ошибка Warning: count():
« Ответ #3 : 04.06.2019, 09:56:01 »
получил предупреждение
Notice: Undefined offset: 147 in ....modules/mod_jux_vm_megamenu/includes/menu/vm_megamenu.php on line 218весь файл
Спойлер
[свернуть]
*

AlekVolsk

  • Гуру
  • 6821
  • 396 / 4
Re: Ошибка Warning: count():
« Ответ #4 : 04.06.2019, 09:59:38 »
ну тут надо уже на сайте нормально отлаживать, толку в отдельном файле нет, по кускам кода не всегда можно отванговать

Тут же подавляют ошибку
самое опасное решение проблемы, с таким же успехом можно и подавить ошибку на count(), но проблему это не решит
« Последнее редактирование: 04.06.2019, 10:02:47 от AlekVolsk »
*

Stasweb

  • Завсегдатай
  • 1328
  • 23 / 0
Re: Ошибка Warning: count():
« Ответ #5 : 04.06.2019, 11:06:50 »
ну тут надо уже на сайте нормально отлаживать, толку в отдельном файле нет, по кускам кода не всегда можно отванговать
Ошибка появилась при смене версии PHP с 5.6 на 7.2Сайт _https://update.lik-astana.kz/
*

draff

  • Живу я здесь
  • 4054
  • 270 / 7
  • Ищу работу
*

Stasweb

  • Завсегдатай
  • 1328
  • 23 / 0
Re: Ошибка Warning: count():
« Ответ #7 : 04.06.2019, 11:45:01 »
Вот так ошибки пропали
Код
/*
    function treerecurse($id,$list, &$children, $maxlevel = 9999, $level = 0){
        if (@$children[$id] && $level <= $maxlevel)
    */       
        function treerecurse($id,$list, &$children, $maxlevel = 9999, $level = 0){
          if(empty($children)) return;
           if (@$children[$id] && $level <= $maxlevel)
        {
            foreach ($children[$id] as $v)
            {
                $id = $v->id;
                $list[$id] = $v;
            //  $list[$id]->children = count(@$children[$id]);
            //  $list[$id]->children = (is_array($children[$id]) || (is_object($children[$id]) && ($children[$id] instanceof \Traversable )))? count($children[$id]) : 0;
                $list[$id]->level = $level;
                $list = $this->treerecurse($id,$list, $children, $maxlevel, $level + 1);
            }
        }
        return $list;
    }
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка saveNotification

Автор minibelka

Ответов: 2
Просмотров: 122
Последний ответ 21.08.2019, 17:06:04
от minibelka
[Решено] Ошибка в коде

Автор lgmax

Ответов: 2
Просмотров: 120
Последний ответ 16.08.2019, 10:46:57
от lgmax
csvi ошибка экспорта

Автор face2005

Ответов: 2
Просмотров: 92
Последний ответ 12.08.2019, 10:26:11
от face2005
При попытке поменять в общих настройках капчу по умолчанию выходит ошибка

Автор inkvizitr

Ответов: 4
Просмотров: 80
Последний ответ 08.08.2019, 09:59:01
от inkvizitr
captcha после установки выдает ошибка: неверный ключ

Автор specifika

Ответов: 7
Просмотров: 2100
Последний ответ 16.07.2019, 20:28:39
от Lizbet111