Foreach循环运行n次

时间:2012-09-23 21:29:51

标签: php loops foreach

foreach($CarAdList as $CarAd)
{
    echo($msg .= '<tr><td>'.$CarAd->getCarAdID().'</td><td>' .$CarAd->getBrandText().'</td><td>' .$CarAd->getDescription(). '</td><td><a href="status.php?id='.$CarAd->getCarAdID().'"><img src="../images/active.png" /></a></td><td><img src="../images/delete.png" width="30px" /></td></tr>');
}

e.g, 行数= 38

n =行数*行数 -

它正在运行n次

所以显示

5
5
4
5
4
3
5
4
3
2
5
4
3
2
1

2 个答案:

答案 0 :(得分:1)

循环仅运行请求的次数,但输出不匹配。这是因为您要将文字添加到$msg并同时echo

在循环中构造$msg并稍后回显它,或者在不连接前一个结果的情况下回显,如下所示:

foreach($CarAdList as $CarAd)
{
    echo '<tr><td>'.$CarAd->getCarAdID().'</td><td>' .$CarAd->getBrandText().'</td><td>' .$CarAd->getDescription(). '</td><td><a href="status.php?id='.$CarAd->getCarAdID().'"><img src="../images/active.png" /></a></td><td><img src="../images/delete.png" width="30px" /></td></tr>';
}

答案 1 :(得分:1)

echo($msg .= 'somecontent')是一个非常奇怪的结构。要么连接值并将其输出到最后,要么立即执行输出。

foreach($a as $b) {
   echo $b;
}

$var = '';
foreach($a as $b) {
   $var .= $b;
}
echo $var