在foreach循环中限制结果

时间:2014-11-15 23:08:09

标签: php loops foreach limit

下面的代码我的工作正常,但我想与您,专家核实,以确保我使用的是最佳做法。

我想将循环结果限制为16.下面的代码看起来是最好的方法吗?

谢谢, 杰弗里

foreach ($flickr_set['items'] as $id => $photos) {
$ctr=0;  
         foreach ($photos as $photo) {
if($ctr>=16) break; else $ctr++; /* limits results to 16 */  
        echo '<a href="' . $photo['large'] . '" title="' . $photo['title'] . '" rel="flickr-set" ><img src="' . $photo['thumb'] . '" /></a>';
    }
}

2 个答案:

答案 0 :(得分:1)

您的解决方案没问题,如果您想要一个更易于理解的结构化解决方案,可以使用array_slice

foreach ($flickr_set['items'] as $id => $photos) {
         foreach (array_slice($photos, 0, 16) as $photo) { 
        echo '<a href="' . $photo['large'] . '" title="' . $photo['title'] . '" rel="flickr-set" ><img src="' . $photo['thumb'] . '" /></a>';
    }
}

答案 1 :(得分:1)

您的代码很好但是..

我不会检查它是否更高或相等,我只会检查它是否相同:

if($ctr == 16)
相关问题