为 foreach() 提供的参数无效
Invalid argument supplied for foreach()
嗨,有人可以帮助我吗?我得到了所有 PHP 网站的失败:
代码是通过 Joomla 3.4.1
中的插件 "NoNumber Sourcerer" 插入的
bool(false) Warning: Invalid argument supplied for foreach() in /var/www/admin/libraries/class.System.php on line 117.
这是 class.system.php
的第 117 行:
foreach ($result as $entry) {
$modulePath = dirname(__FILE__) . '/../modules/' . $entry['DirectoryName'] . '/';
if (is_dir($modulePath) && $entry['DirectoryName'] != '.' && $entry['DirectoryName'] != '..') {
if (is_file($modulePath . 'index.php')) {
require_once $modulePath . 'index.php';
$class = new ReflectionClass($entry['Class']);
$module = $class->newInstance();
$this->modules[] = $module;
foreach ($module->getActions() as $action) {
$this->moduleMappings[$action] = $module;
}
if ($entry['IsDefault'] != 0) {
//print_R($module);
$this->defaultModule = $module;
}
}
}
}
}
尝试检查 $result
是否有值并使用 -
更新您的代码
if($result != NULL && is_array($result)) {
foreach ($result as $entry) {
// your conditions
}
}
嗨,有人可以帮助我吗?我得到了所有 PHP 网站的失败:
代码是通过 Joomla 3.4.1
中的插件 "NoNumber Sourcerer" 插入的bool(false) Warning: Invalid argument supplied for foreach() in /var/www/admin/libraries/class.System.php on line 117.
这是 class.system.php
的第 117 行:
foreach ($result as $entry) {
$modulePath = dirname(__FILE__) . '/../modules/' . $entry['DirectoryName'] . '/';
if (is_dir($modulePath) && $entry['DirectoryName'] != '.' && $entry['DirectoryName'] != '..') {
if (is_file($modulePath . 'index.php')) {
require_once $modulePath . 'index.php';
$class = new ReflectionClass($entry['Class']);
$module = $class->newInstance();
$this->modules[] = $module;
foreach ($module->getActions() as $action) {
$this->moduleMappings[$action] = $module;
}
if ($entry['IsDefault'] != 0) {
//print_R($module);
$this->defaultModule = $module;
}
}
}
}
}
尝试检查 $result
是否有值并使用 -
if($result != NULL && is_array($result)) {
foreach ($result as $entry) {
// your conditions
}
}