好的,所以我正在尝试使用一个安静的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);
}
}