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

Stasweb

  • Завсегдатай
  • 1388
  • 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

  • Гуру
  • 6906
  • 407 / 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

  • Живу я здесь
  • 4758
  • 324 / 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

  • Завсегдатай
  • 1388
  • 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

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

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

Stasweb

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

draff

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

Stasweb

  • Завсегдатай
  • 1388
  • 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;
    }
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка 404 при загрузке лого в svg

Автор milaev

Ответов: 0
Просмотров: 78
Последний ответ 27.05.2020, 15:50:13
от milaev
Ошибка Class 'Joomla\CMS\Uri\Uri' not found

Автор Шмайсер

Ответов: 1
Просмотров: 113
Последний ответ 22.05.2020, 19:49:07
от Septdir
Ошибка "Невозможно очистить кэш" у плагина Cache Cleaner

Автор Loh

Ответов: 11
Просмотров: 361
Последний ответ 05.05.2020, 23:26:50
от Loh
Ошибка на сайте Call to a member function xpath() on boolean

Автор FireFood

Ответов: 4
Просмотров: 1007
Последний ответ 27.03.2020, 21:53:30
от Pavel
Фатальная ошибка после установки пикселя Фейсбук

Автор glushilka

Ответов: 8
Просмотров: 217
Последний ответ 04.03.2020, 20:11:15
от draff