下面的代码我的工作正常,但我想与您,专家核实,以确保我使用的是最佳做法。
我想将循环结果限制为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>';
}
}
答案 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)