ограничить результаты в цикле foreach

Приведенный ниже код работает нормально, но я хотел бы проконсультироваться с вами, экспертами, чтобы убедиться, что я использовал лучшие практики.

Я хочу ограничить результаты цикла до 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>';
}
}

-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

Другие решения

Ваш код в порядке, но ..

Я не проверю, является ли он выше или равен, я бы только проверил, равен ли он следующим образом:

if($ctr == 16)
1

По вопросам рекламы [email protected]