API Foreach导致无效参数

时间:2014-04-09 23:13:10

标签: php codeigniter foreach

好的,所以我正在尝试使用一个安静的api。当我将结果放入foreach循环时,我得到了foreach中的变量未定义。我需要做什么呢?

我的结果编码为$modules,当我var_dump时,我收到以下数组:

string(42) "array ( 1 => 'Emails', 2 => 'Pages', )"

现在,当我尝试将它放在我的foreach循环中时,就像这样:

<?php foreach($modules as $module => $name): ?>
    <?php echo $module; ?>
<?php endforeach; ?>

我收到此错误:

 Invalid argument supplied for foreach()

顺便说一句,我使用的是codeigniter,$modules从控制器传递到视图。

$data['modules'] = codeToGetArray

更新

应该制作数组的代码如下:

function list_get()
{
    $this->load->model('api/api_m', 'api_m');

    $modules = $this->api_m->list_modules();

    $mods = array();

    foreach($modules as $module)
    {
        $mods[$module->id] = $module->name;
    }

    $modules = $mods;

    if($modules)
    {
        $this->response($modules, 200);
    }
    else
    {
        $this->response(array('error' => 'Couldn\'t fin any modules!'), 404);
    }
}

1 个答案:

答案 0 :(得分:0)

函数var_dump()应该显示数组而不是字符串。它不是foreach错误,而是在代码中的字符串之前的某处。