我有以下代码:
<?
foreach($format as $form)
{
echo $form;
?>
<ul>
<?
$s = $database->onlineFormatUsers($form);
while($row=mysql_fetch_assoc($s))
{
$username=$row['username'];
$id=$row['id'];?>
<li><a href="../userprofile.php?id=<?echo $id?>"><?echo "$username";?></a></li>
<?
}
?>
</ul>
<?
}
?>
<?
//the active formats
$f = $database->activeFormats();
while($row=mysql_fetch_assoc($f))
{
$format=$row['name'];
}
?>
它说这是一个无效的论点? 有什么理由吗? 感谢
答案 0 :(得分:3)
$format
可能不是数组。
将foreach
块包裹在if(is_array($format)) { }
块中,或通过$format = (array)$format
将其强制转换为数组。
答案 1 :(得分:0)
你确定$ format是一个数组吗?放一个
<?php echo gettype($format); ?>
在foreach循环之前
答案 2 :(得分:0)
$ format不是数组或不存在! 在foreach之前
if(is_array($format)){
foreach($format ...
}