我有一个相册阵列$albums[]
和一组照片$photos
。我想用每个相册的照片回显每张相册,并使用以下代码:PHP foreach循环嵌套
<?php
...
foreach($albums as $album){
if($album[photo_count] !== 0){
if($album[photo_count] > 10){
$limit = 10;
}
$boxID = $id = substr($album[aid], strrpos($album[aid], '_')+1);
?>
<div id="gal-<?=$boxID?>-box" class="box gallery-album">
<?
$i = 0;
foreach($photos as $photo){
if(($photo[aid] == $album[aid]) && ($i < $limit)){
echo '<img src="'.$photo[src_big].'" alt="'.$photo[caption].'"/>';
$i++;
}
}
?>
</div>
</div>
<?
}
}
这很好,但感觉效率很低。有没有更好的编码方式?
你可以在第一个循环之外设置'$ limit',它总是不变的。如果你想改善代码味道,JRL的答案如下。 –