2015-12-18 3 views
-1

Мне нужно объяснение того, как выражать цикл таким образом, что он сворачивает бутстрап, используя счетчик и цикл foreach, но похоже, что я не получаю правильный ответ, поскольку я его хочу.Php Loop в bootstrap

<?php 
$views = ['First View','Second View','Third View']; 
$messages = [ 
       "FIRST MESSAGE Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad", 
       "SECOND MESSAGE Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad", 
       "THIRD MESSAGE Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad", 
      ]; 
?> 

<section> 

<div class="row"> 
<div class="col-md-12"><div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true"> 
<?php 

    foreach($views as $view): $count = 1;?> 

     <div class="panel panel-default"> 

     <div class="panel-heading" role="tab" id="heading<?php echo $count; ?>"> 
      <h4 class="panel-title"> 
      <a class="<?php echo ($count == 1 ? '' : 'collapse'); ?>" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse<?php echo $count; ?>" aria-expanded="<?php echo ($count == 1 ? 'true' : 'false'); ?>" aria-controls="collapse<?php echo $count; ?>"> 
       <?php echo strtoupper(" $view "); ?> 
      </a> 
      </h4> 
     </div> 
     <div id="collapse<?php echo $count; ?>" class="panel-collapse <?php echo ($count == 1 ? 'collapse in' : 'collapse'); ?>" role="tabpanel" aria-labelledby="heading<?php echo $count; ?>"> 

      <div class="panel-body"> 

      <?php foreach($messages as $message): ?> 
       <?php echo "$count, $message"; ?> 
      <?php endforeach; ?> 

      </div> <!-- end body --> 

     </div> 

     </div> <!-- end default --> 



<?php $count++; endforeach; ?> 
</div> <!-- end 12 --> 
</div> <!-- end accordion --> 
</div> <!-- END OF ROW 
--> 

</section> 

ответ

1

в цикле вы заходящий $count = 1; что означает, что счетчик будет ВСЕГДА 1.

Я предполагаю, что вы хотите, чтобы вар прирастить сосчитать свою петлю. Поместите его за пределы цикла и добавьте 1 к нему внутри цикла.

$count = 1; 
foreach($whatever as $something): 
    // do stuff 
    $count++; 
endforeach; 
+0

Кажется, что не работает, попробуйте и посмотрите, что вы получаете. – Peter

+0

Причина, по которой она не работает, состоит в том, что у вас есть две петли foreach, и вы закрываете только один из них. ps «он не работает» не является полезной информацией для отладки. включая детали. и вы получаете бесплатную техническую поддержку, не ожидайте, что люди найдут время, чтобы скопировать код на свои собственные серверы, если вы не заплатите мне мой курс за 30 долларов США/час. –

+0

никогда не видел, просто увидел, что ближе к другому проходу. если вы хотите добавить что-то более полезное, чем «это не сработает», то я с удовольствием рассмотрю второй вопрос. –