希望有人能幫助我,PHP foreach循環的幫助
我有我的網站上的圖像陣列,它看起來與此類似,
$usp = array('/images/usp1.jpg',
'/images/usp2.jpg',
'/images/usp3.jpg',
'/images/usp4.jpg',
'/images/usp5.jpg',
'/images/usp6.jpg'
);
我有一個頁面的循環通過我的產品和顯示器產品圖片和li
中的一些細節。我想要做的事情是從$usp
陣列中隨機選擇開始循環,然後顯示4個產品,然後從$usp
陣列中放置另一個隨機選擇,然後顯示另外4個產品,然後顯示$usp
陣列中的另一個隨機選擇。
在本質上我想要這個效果
USP PRODUCT PRODUCT
PRODUCT PRODUCT USP
PRODUCT PRODUCT PRODUCT
PRODUCT USP PRODUCT
PRODUCT PRODUCT PRODUCT
USP PRODUCT PRODUCT
目前,這是循環我有。
<?php if(count($product_sets) >= 1) : ?>
<div class="clear clearfix productWrap" id="homeBestSellers">
<!-- <h3 class="label"><?php echo $category_details->categoryTitle; ?> <br> Product Sets</h3> -->
<ul class="clear clearfix productBoxes">
<?php
$number_of_blanks = (3 - (count($product_sets) % 3)); // 0, 1 or 2.
if ($number_of_blanks == 3) :
$number_of_blanks = 0;
endif;
$number_of_rows = ceil(count($product_sets)/3);
$currentItem = 1;
foreach ($product_sets as $product)
{
$currentRow = ceil($currentItem/3);
$currentColumn = $currentItem - (($currentRow - 1) * 3);
if ($number_of_blanks == 2) :
if (($number_of_rows > 1 && $currentRow == ($number_of_rows - 1) && $currentColumn == 2) || ($number_of_rows == 1 && $currentColumn == 1)) :
?>
<li><img src="<?php echo site_url('assets/img/blocks/guarantee.png'); ?>" alt="5 Year Guarantee" width="242" height="156"></li>
<?php
$currentItem++;
endif;
endif;
?>
<li class="<?php if($currentItem % 3 == 0) echo 'endHomeBlock';?>">
<?php $this->load->view('blocks/product_small', array('product' => $product)); ?>
</li>
<?php
$currentItem++;
}
if ($number_of_blanks > 0) :
?>
<li><img src="<?php echo site_url('assets/img/blocks/phone-number.png'); ?>" alt="Phone Number" width="242" height="156"></li>
<?php
endif;
?>
</ul><!-- #productSets -->
</div><!-- #productWrap -->
<?php endif; ?>
我該如何修改這個以便獲得理想的效果?在圈頂部
這可能會導致重複返回的$ usp項目。 – Ben 2011-04-26 14:57:00