Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 128

Warning: Invalid argument supplied for foreach()

26.03.2019, 11:15. Показов 1917. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Недавно наткнулся на ошибку на всех страницах сайта:
Warning: Invalid argument supplied for foreach() in /var/www/site/html/plugins/system/advancedmodules/advancedmodules.php on line 263
Мое предположение, что массив пустой.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// set params for all loaded modules first
    // and make it an associated array (array id = module id)
    $new_modules = array();
    require_once JPATH_ADMINISTRATOR . '/components/com_advancedmodules/models/module.php';
    $model = new AdvancedModulesModelModule;
    foreach ($modules as $id => $module) //263 строка
    {
        if (!isset($module->advancedparams))
        {
            $module->advancedparams = plgSystemAdvancedModulesGetAdvancedParams($id);
        }
        $registry = new JRegistry;
        if (strpos($module->advancedparams, '"assignto_menuitems"') === false)
        {
            $module->advancedparams = $model->initAssignments($module->id, $module);
            $registry->loadArray($module->advancedparams);
        }
        else
        {
            $registry->loadString($module->advancedparams);
        }
        $module->advancedparams = $registry->toObject();
        $module->advancedparams = $parameters->getParams($module->advancedparams, $xmlfile_assignments);
        $new_modules[$module->id] = $module;
    }
Есть ли предложения?)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2019, 11:15
Ответы с готовыми решениями:

Warning: Invalid argument supplied for foreach()
Здраствуйте!!! Вот появилась такая ошибка в чате Д. Бородина Warning: Invalid argument supplied for foreach() in...

Warning: Invalid argument supplied for foreach()
Вынесено из темы https://www.cyberforum.ru/php-beginners/thread1415648.html Такая же ошибка появилась на сайте в рабочем плагине:...

Warning: Invalid argument supplied for foreach()
Прошу помочь :( Вот строки 46,47 foreach($HTTP_POST_VARS as $i_posvar => $value){$post_text.=stripslashes($HTTP_POST_VARS)."...

6
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
26.03.2019, 11:31
Цитата Сообщение от Escaper2 Посмотреть сообщение
Мое предположение, что массив пустой.
Вместо предположений используйте var_dump. На пустой массив PHP не ругался бы.
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 128
26.03.2019, 12:23  [ТС]
Jodah, пустой, однако.
Var_dump & print_r
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Var_dump & print_r
    function pr($var) {
        static $int=0;
        echo '<pre><b style="background: red;padding: 1px 5px;">'.$int.'</b> ';
        print_r($var);
        echo '</pre>';
        $int++;
    }
 
    function prv($var) {
        static $int=0;
        echo '<pre><b style="background: blue;padding: 1px 5px;">'.$int.'</b> ';
        var_dump($var);
        echo '</pre>';
        $int++;
    }
    // end var_dump & print_r
    
    // and make it an associated array (array id = module id)
    $new_modules = array();
    require_once JPATH_ADMINISTRATOR . '/components/com_advancedmodules/models/module.php';
    $model = new AdvancedModulesModelModule;
    pr($modules);
    prv($modules);
    foreach ($modules as $id => $module)
    {
        if (!isset($module->advancedparams))
        {
            $module->advancedparams = plgSystemAdvancedModulesGetAdvancedParams($id);
        }
        $registry = new JRegistry;
        if (strpos($module->advancedparams, '"assignto_menuitems"') === false)
        {
            $module->advancedparams = $model->initAssignments($module->id, $module);
            $registry->loadArray($module->advancedparams);
        }
        else
        {
            $registry->loadString($module->advancedparams);
        }
        $module->advancedparams = $registry->toObject();
        $module->advancedparams = $parameters->getParams($module->advancedparams, $xmlfile_assignments);
        $new_modules[$module->id] = $module;
    }

Вроде бы правильно вызвал?
0
 Аватар для sash23
563 / 410 / 259
Регистрация: 31.05.2016
Сообщений: 1,105
26.03.2019, 12:32
Это не пустой массив, это NULL.
0
Эксперт PHP
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
26.03.2019, 12:47
Escaper2, а где вы объявляете эту переменную? Как сказали выше, там NULL, возможно этой переменной не существует.
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 128
26.03.2019, 13:29  [ТС]
Jodah, порылся в коде -- не знаю, откуда она берется.
Первая строчка в поиске по $modules это:
PHP
1
function plgSystemAdvancedModulesPrepareModuleList(&$modules)
Я так предполагаю она как-то глобально объявлена и берется ссылка.

Добавлено через 22 минуты
В общем, косяк убрать не получилось в коде, но если отключить модуль Advanced Module Manager, то все работает без проблем и еще пара ошибок сразу пропала...
System - NoNumber Advanced Module Manager Site Plugin 4.8.2PRO November 2013 NoNumber (Peter van Westen)
Переустановить попробую, если все заработает -- отпишусь
0
1 / 1 / 2
Регистрация: 13.09.2015
Сообщений: 128
03.04.2019, 15:23  [ТС]
Пока еще не переустановил)
Руки дойдут когда-нибудь...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.04.2019, 15:23
Помогаю со студенческими работами здесь

Warning: Invalid argument supplied for foreach() in
Здравствуйте. У меня такой код: function categories(){ $query = &quot;SELECT * FROM categories ORDER BY parent_id, cat_pos&quot;; ...

Warning: Invalid argument supplied for foreach
Прошу помогите решить эту проблему: Warning: Invalid argument supplied for foreach() in...

Warning: Invalid argument supplied for foreach()
Добрый вечер! Скачала шаблон bt_believe, установка без ошибок. Но при просмотре сайта вылазит только фон и вот эта ошибка &quot;Warning:...

Warning: Invalid argument supplied for foreach() in
в чем ошибка код из книги ? &lt;h2&gt;HEADER&lt;/h2&gt; &lt;hr&gt; &lt;?php foreach($text as $item):?&gt; &lt;h2&gt; &lt;a...

Warning: Invalid argument supplied for foreach()
всем привет!помогите пожалуйста.кароче создал свой сервер бф 2 с ведением статистики игры и столкнулся с проблемами в скриптах файлов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru