0

ループを中断し、 2回の反復ごとにhtml要素を追加するにはどうすればよいですか?簡単foreachにそれや何かをすることができますSPLか?

<?php foreach($items as $index=>$item): ?>
     <li>$item->title</li>
     <?php if($index + 1 = 2):?>
     <div class="divider"></div>
     <?php endif;?> 
<?php endforeach;?>

htmlの結果、

<li>title 1</li>
<li>title 2</li>
<div class="divider"></div>
<li>title 3</li>
<li>title 4</li>
<div class="divider"></div>
<li>title 5</li>
<li>title 6</li>
<div class="divider"></div>

編集:

<li>title 1</li>
<li>title 2</li>
<li>title 3</li>
<div class="divider"></div>
<li>title 4</li>
<li>title 5</li>
<div class="divider"></div>
<li>title 6</li>
4

2 に答える 2

3
<?php foreach($items as $index=>$item){ ?> 

<li>$item->title</li>

if ($index != 0 && $index%2 == 0){?><div class="divider"></div><?php} 

}?>
于 2013-02-20T16:17:09.123 に答える
2

この結果の場合:

<li>title 1</li>
<li>title 2</li>
<div class="divider"></div>
<li>title 3</li>
<li>title 4</li>
<div class="divider"></div>
<li>title 5</li>
<li>title 6</li>
<div class="divider"></div>

モジュラス2でこれを行います:

<?php 
foreach($items as $index=>$item) {
  if ($îndex % 2 = 0) {
?>
<?php // <!-- ADD HTML HERE !> ?>
<li>$item->title</li>
<?php
  } else {
?>
<li>$item->title</li>
<?php
  }
}
?>

この結果の場合:

<li>title 1</li>
<li>title 2</li>
<li>title 3</li>
<div class="divider"></div>
<li>title 4</li>
<li>title 5</li>
<div class="divider"></div>
<li>title 6</li>

これを行うには、最初のインデックスとモジュラス2をスキップします。

<?php 
foreach($items as $index=>$item) {
  if ($îndex != 0 && $îndex % 2 = 0) {
?>
<?php // <!-- ADD HTML HERE !> ?>
<li>$item->title</li>
<?php
  } else {
?>
<li>$item->title</li>
<?php
  }
}
?>
于 2013-02-20T16:33:09.380 に答える