我有一个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”。它没有上升。我尝试了一些变化而且卡住了。
答案 0 :(得分:0)
这是因为你在foreach循环之外回显了计数器变量。
当$ counter被调用时,计数器的值已经通过foreach循环加起来,所以你只是显示最终计数。
答案 1 :(得分: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; ?>
答案 2 :(得分:0)
找到解决方案:
由于这是opencart,这是.tpl文件,并且计数器不工作的原因是因为有另一个变量试图在.php控制器文件上执行相同的功能。我只是回应了#34;模块&#34;而不是&#34; counter&#34;它起作用了。
<div class="box feed-<?php echo $module; ?>">