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

Stasweb

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

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

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

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

draff

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

Stasweb

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

Где ошибка в css?

Автор polezniy

Ответов: 6
Просмотров: 219
Последний ответ 22.07.2020, 20:18:05
от polezniy
Ошибка 500 после бэкапа

Автор Gbsyi

Ответов: 31
Просмотров: 4111
Последний ответ 05.07.2020, 22:11:45
от olaf
Ошибка в файле SiteApplication.php

Автор alexo

Ответов: 2
Просмотров: 283
Последний ответ 28.06.2020, 11:09:00
от NewUsers
Ошибка при открытие сайта

Автор Bogdan171

Ответов: 5
Просмотров: 186
Последний ответ 17.06.2020, 11:27:46
от NewUsers
Ошибка при установке компонента

Автор JackThaCat

Ответов: 5
Просмотров: 186
Последний ответ 17.06.2020, 07:41:52
от AlexB