[英]Two items per foreach loop
抱歉,如果有人問過這個問題(我找不到答案),但是我正在使用PHP,並且正在構建一個滑塊,但是希望每個幻燈片有兩個圖像,而不是一個。 因此,從理論上講, foreach()
每個必須包含兩個。
設置示例如下:
<?php foreach ($page->images as $image) : ?>
<img src="<?php echo $image->url; ?>"/>
<?php endforeach; ?>
我以為我可以做點算...
<?php $index = 0; foreach ($page->images as $image) : ?>
<img src="<?php echo $image->url; ?>"/>
<?php $index++; ?>
<?php if ( $index % 2 == 0 && $index !=count($page->images) ) : ?>
<li></li>
<?php endif; ?>
<?php endforeach; ?>
但是我有點困惑,因為這會每2插入一次...不包括兩個foreach循環一次獲取的內容。
希望這有意義並且在此先感謝
為什么這么復雜? 使用簡單的for
循環:
<?php for ($i=0; $i<count($page->images)-1; $i+=2) { ?>
<img src="<?php echo $page->images[$i]->url; ?>"/>
<img src="<?php echo $page->images[$i+1]->url; ?>"/>
<?php } ?>
甚至更優雅的是,一個do/while
循環:
<?php $i=0; do { ?>
<img src="<?php echo $page->images[$i++]->url; ?>"/>
<img src="<?php echo $page->images[$i++]->url; ?>"/>
<?php } while ($i<count($page->images)) ?>
與使用foreach
循環相比,這些方法還有另一個優點:您無需創建所有對象的副本。 如果這些對象不平凡,則可能會產生巨大的差異。
好的,我設法解決了這個問題……希望能對您有所幫助。
<div class="each-slide">
<?php $index = 0; foreach ($page->images as $image) : ?>
<img src="<?php echo $image->url; ?>"/>
<?php $index++; ?>
<?php if ( $index % 2 == 0 && $index !=count($page->images) ) : ?>
</div><div class="each-slide">
<?php endif; ?>
<?php endforeach; ?>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.