我有疑问。这是我的foreach循环
<table>
<?php foreach($this->msg as $l): ?>
<tr><td>
<a href="index.php/downloads?id=<?php echo $l->id;?>"><?php echo $l->name;?></a>
</td></tr>
<?php endforeach; ?>
</table>
其中$ this-&gt; msg是db的结果数组。这显示警告
Warning: Invalid argument supplied for foreach()
我应该如何解决这个问题?
答案 0 :(得分:0)
如果您不确定通过foreach
的内容,我建议您先使用is_array
功能进行检查。像这样:
if (is_array($message)) {
foreach ($message as $text) {
//do something
}
}
使用var_export
或var_dump
来检查您传递到foreach循环的内容。
答案 1 :(得分:0)
答案是:
if(empty($this->msg)){
}
else{
<table>
<?php foreach($this->msg as $l): ?>
<tr><td>
<a href="index.php/downloads?id=<?php echo $l->id;?>"><?php echo $l->name;?></a>
</td></tr>
<?php endforeach; ?>
</table>
}
答案 2 :(得分:0)
试试这个:
First check output from $this->msg.
If it is array type && not empty then and then you can pass to the foreach loop.
You can check array using is_array() function
&&
You can check array is empty using empty() function.
- 感谢