2010-10-28 168 views
1

我有在foreach循環嵌入式HTML的一個問題: HTML:HTML在foreach循環

<div class="head"> 
<div class="wins"> 
    <div class="images"> 
     <a href="#"><img src="images/1.jpg" alt=""></a> 
     <a href="#"><img src="images/2.jpg" alt=""></a> 
     <a href="#"><img src="images/3.jpg" alt=""></a> 
    </div> 
    <div class="Bar"> 
     <a href="#" rel="1"><span>1</span>Cat1</a> 
     <a href="#" rel="2"><span>2</span>Cat2</a> 
     <a href="#" rel="3"><span>3</span>Cat3</a> 
    </div> 
</div> 

我想打印HTML使用此項功能:

function Bar($array){ 
    $box .= '<div class="images">'; 
    foreach($array as $key => $value){ 
     $box .= ' <a href="#"><img src="'.$value['image'].'" alt=""></a>'; 
    } 
    $box .= '</div>'; 
    return $box; 
} 

我想在<div class="images">之後打破循環並在<div class="Bar">之後繼續循環。但林混淆這個問題。請給我看看正確的方法。 在此先感謝

回答

2

兩個選項:通過循環

運行兩次。

儲存在一個單獨的變量的每個部分,稍後將它們合併,即

function Bar($array){ 
    foreach($array as $key => $value){ 
     $images .= ' <a href="#"><img src="'.$value['image'].'" alt=""></a>'; 
     $bar .= ' <a href="#"><span>....</a>'; 
    } 
    $box .= '<div class="images">'; 
    $box .= $images; 
    $box .= '</div>'; 
    $box .= '<div class="Bar">'; 
    $box .= $bar; 
    $box .= '</div>'; 
    return $box; 
} 
0

也許這樣的事情?

$divimg = '<div class="images">'; 
$divbar = '<div class="Bar">'; 

foreach(...) { 
    $divimg .= ' ... '; 
    $divbar .= ' ... '; 
} 

$divimg .= '</div>'; 
$divbar .= '</div>'; 

$divimg .= $divbar; 

return $divimg; 
1
function Bar($array){ 
$divImage=$divBar=array(); 
    foreach($array as $key => $value){ 
     $divImage[]= " <a href='#' ><img src='{$value['image']}' alt=''></a>"; 
     $divBar[]= " <a href='#' rel='$key' ><span>$key</span>Cat$key</a>"; 
    } 
$divImage="<div class='images'>".implode("\r\n",$divImage)."</div>"; 
$divBar="<div class='bar'>".implode("\r\n",$divBar)."</div>"; 
    $box="<div class='wins'> 
    $divImage 
    $divbar 
    </div>"; 
    return $box; 
}