2012-05-17 49 views
1

可能重複:
Multiple index variables in PHP foreach loop試圖遍歷2個陣列同時

我試圖之前和使用的mysqli,PHP和HTML後圖像顯示來創建。 我拉從數據庫與mysqli和PHP的記錄,並試圖使用foreach循環查看無序列表中的結果。

我有我的2個數組,它們是在mysqli查詢的while循環中創建的。該數組僅包含5個結果(對於分頁,稍後可能會更改)。

$before_array[] = ' 
<div class="highslide-gallery"> 
<li> 
<a href="'.$beforeurl.'" class="highslide" onclick="return hs.expand(this)"> 
<img src="'.$beforeurl.'" width="100px" height="125px" alt="Highslide JS"> 
</a> 
</li>'; 

$after_array[] = ' 
<li><a href="'.$afterurl.'" class="highslide" onclick="return hs.expand(this)"> 
<img src="'.$afterurl.'" width="100px" height="125px" alt="Highslide JS"> 
</a> 
</li>'; 

並在頁面的視圖中我有以下代碼來顯示前後圖片。

<div id="hoverwrap"> 
<ul class="hoverbox">; 

<?php 
foreach ($before_array as $value) { 
    echo $value; 
} 

foreach ($after_array as $value) { 
    echo $value; 
} 
?> 

</ul> 

</div><!-- end of hoverwrap div--> 

有了它顯示的畫面當前代碼: 前 - 前 - 前 - 前 - 前 - 後 - 後 - 後 - 後 - 後。

當我會把它想diplay: 前 - 後 - 前 - 等等等等之後

我在想一個while循環,但無論我嘗試和實現它哪種方式,它會導致一個類似的顯示器。 任何幫助或指針在正確的方向將不勝感激。

謝謝。

+0

你可以用一個數組來做到這一點,只需串聯字符串。除此之外,之前已經多次詢問(和回答)了對兩個陣列的循環。 – hakre

回答

1

一個for循環將在這裏做的伎倆:

$x = count($before_array); 
for($i = 0; $i < $x; $i++) { 
    print $before_array[$i]; 
    print $after_array[$i]; 
} 

你爲什麼不能打印在mysql循環本身?

+0

你是一位天才先生。感謝堆,現在已經搞亂了一段時間:)我試圖分開儘可能多的PHP邏輯,並顯示 - 儘可能的HTML,只是使它更容易閱讀與頁面發生了什麼。再次感謝 – Nik