2013-01-14 82 views
0

我有一個foreach循環,我需要編號類,所以我成立了一個計數器:計數器在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> 

而且我的輸出類是「飼料-1」一遍又一遍。它不上漲。我嘗試了一些變化,我卡住了。

回答

0

找到了解決辦法:

由於這是Opencart的,這是.tpl文件和原因計數器不工作是因爲有另一個變量試圖在.php控制器文件上執行相同的功能。我只是呼應「模塊」,而不是「計數器」,它的工作。

<div class="box feed-<?php echo $module; ?>"> 
0

這是因爲你在foreach循環之外回顯counter變量。

當$ counter被調用時,計數器的值已經通過foreach循環加起來,所以你只是顯示最終計數。

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; ?>