2016-07-11 49 views
0

此循環顯示頁面上旋轉的10幅圖像。拆分php旋轉代碼

<?php 
$myImagesList = array (
'image1.png' , 
    'image2.png' , 
    'image3.png' , 
    'image4.png' , 
    'image5.png' , 
    'image6.png' , 
    'image7.png' , 
    'image8.png' , 
    'image9.png' , 
    'image10.png' 
); 

shuffle ($myImagesList); 
for ($i=0; $i<15; $i++) { 
echo '' . $myImagesList[$i] . ''; 
} 
?> 

但如何把它分成兩個部分,所以我展示在頁面的頂部5張圖片,並在頁面頁腳5張圖片? 是這樣的:

<Body> 
<Div id = "site"> 
<Div id = "header"> 
  
  
<? php 
XXXX XXXX Show 5 images 
?> 
  
  
</ Div> 
<Div id = "content"> 
Text 
</ Div> 
<Div id = "footer"> 
  
  
<? php 
XXXX XXXX Show 5 images 
?> 
  
  
</ Div> 
</ Div> 
+0

有沒有這樣的運氣? – MonkeyZeus

+0

[在網站的其他地方繼續循環]可能的重複(http://stackoverflow.com/questions/38296947/continue-the-loop-elsewhere-in-the-site) – chris85

回答

0

您可以簡單地改變你的迭代起點:

<?php 
$myImageList = [ 
    'image1.png', 
    'image2.png', 
    'image3.png', 
    'image4.png', 
    'image5.png', 
    'image6.png', 
    'image7.png', 
    'image8.png', 
    'image9.png', 
    'image10.png', 
]; 

shuffle($myImageList); 

然後在你的HTML:

<div id="header"> 
<?php for ($i = 0; $i < 5; $i++) echo $myImagesList[$i] . '<br>'; ?> 
</div> 

<div id="footer"> 
<?php for ($i = 5; $i < 10; $i++) echo $myImagesList[$i] . '<br>'; ?> 
</div> 
0

如果您想顯示在​​頂部正好一半和一半的底部,無論有多少件在$myImagesList那麼你可以這樣做:

<?php 
$myImagesList = array (
'image1.png' , 
    'image2.png' , 
    'image3.png' , 
    'image4.png' , 
    'image5.png' , 
    'image6.png' , 
    'image7.png' , 
    'image8.png' , 
    'image9.png' , 
    'image10.png' 
); 

shuffle ($myImagesList); 

$firstHalf = array_slice($myImagesList, 0, round((count($myImagesList)/2), 0, PHP_ROUND_HALF_UP)); 
$secondHalf = array_slice($myImagesList, round((count($myImagesList)/2), 0, PHP_ROUND_HALF_UP)); 

// First half 
foreach($firstHalf as $v) 
{ 
    echo $v; 
} 

// Second half 
foreach($secondHalf as $v) 
{ 
    echo $v; 
} 

如果在$myImagesList中存在奇數個元素,那麼前半部分將顯示比下半部分多一個圖像。

0

帶輔助函數的數組切片。

<?php 

$myImageList = [ 
    'image1.png', 
    'image2.png', 
    'image3.png', 
    'image4.png', 
    'image5.png', 
    'image6.png', 
    'image7.png', 
    'image8.png', 
    'image9.png', 
    'image10.png', 
]; 

function display_images(array $images, $base_path) { 
?> 
    <?php foreach($images as $image) { ?> 
     <img src="<?php echo $base_path . '/' . $image ?>"> 
    <?php } ?> 
<?php 
} 


shuffle($myImageList); 
display_images(array_slice($myImageList, 0, 5), '/foo'); 
display_images(array_slice($myImageList, 5, 5), '/foo');