2010-07-01 93 views
1

我的圖片庫擁有XHTML象下面這樣:PHP圖片庫和項目行

<div class="row"> 

<ul class="ul"> 

    <li><a href="#"><img src=....></a></li> 

    <li><a href="#"><img src=....></a></li> 

    <li><a href="#"><img src=....></a></li> 

</ul> 

</div> 
<div class="row"> 

<ul class="ul"> 

    <li><a href="#"><img src=....></a></li> 

    <li><a href="#"><img src=....></a></li> 

    <li><a href="#"><img src=....></a></li> 

</ul> 

</div> 

我想這樣做:插入只有3 <li><ul>和關閉後3 <li> 什麼是最好的方式去做這個?位置($ pos = 0,$ pos ++),array_chunk還是別的? 在此先感謝

+2

不它真的很重要嗎?爲什麼你需要「最好」的方式?如果你家裏有三種不同的勺子,你會問一個最好吃的人嗎?你不只是得到他們中的一個,不是不打擾你自己的選擇?甚至明智的選擇? – 2010-07-01 08:51:52

+0

我不能看到像一個PHP大師。你可以向我展示正確的方法Col. – TheNone 2010-07-01 08:54:48

+1

這是一個品味問題。要顯示的唯一「正確方法」就是「」使用模板輸出「。」但是特定的模板引擎選擇是獨立的。 – 2010-07-01 09:05:04

回答

1

要準備數據的陣列。
我們準備它的方式並不重要。
您可以使用$ pos ++並在數據數組中設置列標記。 然後輸出在模板是這樣的:

<? foreach ($DATA as $row): ?> 
<? if($row['ul']): ?> 
<div class="row"> 
<ul class="ul"> 
<? endif ?> 
    <li><a href="<?=$row['url']?>"><img src="<?=$row['src']?>"></a></li> 
<? if($row['/ul']): ?> 
</ul> 
</div> 
<? endif ?> 

,或者您可以使用array_chunk然後使用嵌套foreaches:

<? foreach ($DATA as $arr): ?> 
<div class="row"> 
<ul class="ul"> 
<? foreach ($arr as $row): ?> 
    <li><a href="<?=$row['url']?>"><img src="<?=$row['src']?>"></a></li> 
<? endforeach ?> 
</ul> 
</div> 
<? endforeach ?> 

後者看起來整潔,我不得不承認

0

你可以做

for ($i=0 ; $i < 5; $i++){ 
    echo '<div class="row">  
      <ul class="ul">'; 
    for ($j=0;$j<3;$j++){ 
    echo '<li><a href="#"><img src=....></a></li>'; 
} 
echo '</ul>  
</div>'; 
}