0

我有一个 foreach 循环,我需要编号的类,所以我设置了一个计数器:

 <?php
 $counter = 0;
  ?>
  <?php
$html = '';
foreach ($json['feed']['entries'] as $entries){ 
$counter++;
$html .= '<a href="' .$entries['link']. '"><span class="feeddisplay_title">'.$entries['title']. ' </span></a>';
    if($entries['publishedDate'] != '') {
        $html .='<span class="feeddisplay_date">' .$entries['publishedDate'].    '</span>';
    }
    $html .= '<p>' .$entries['contentSnippet']. '</p>';
}
?>
<div class="box feed-<?php echo $counter; ?>">
 <div class="box-heading"><?php echo $heading_title; ?>:</div>
 <div class="box-content">
<div class="feeddisplay"><?php echo $html ?></div>
 </div>
 </div>

我的输出类一遍又一遍地是“feed-1”。它上不去。我尝试了一些变化,但我被卡住了。

4

3 回答 3

0

这是因为您在 foreach 循环之外呼应了 counter 变量。

在调用 $counter 时,counter 的值已经通过 foreach 循环相加,因此您只是显示最终计数。

于 2013-01-16T04:05:35.340 回答
0

你确定你不希望输出是:

<?php
$counter = 0;

$html = '';
foreach ($json['feed']['entries'] as $entries){
    $counter++;
    $html = '<div class="box feed-'.$counter.'">
    <div class="box-heading">'.$heading_title.':</div>
    <div class="box-content">
        <div class="feeddisplay">
            <a href="' .$entries['link']. '">
                <span class="feeddisplay_title">'.$entries['title']. ' </span>
            </a>';
    if($entries['publishedDate'] != '') {
        $html .='<span class="feeddisplay_date">'.$entries['publishedDate'].'</span>';
    }
    $html .= '<p>'.$entries['contentSnippet'].'</p>';
    $html .= '        </div>
    </div>
</div>';
}
?>
<?php echo $html; ?>
于 2013-01-16T15:26:25.567 回答
0

找到了解决方案:

由于这是 opencart,这是 .tpl 文件,计数器不工作的原因是因为有另一个变量试图在 .php 控制器文件上执行相同的功能。我只是呼应了“模块”而不是“计数器”并且它起作用了。

   <div class="box feed-<?php echo $module; ?>">
于 2013-01-16T19:33:10.660 回答