Приведенный ниже код работает нормально, но я хотел бы проконсультироваться с вами, экспертами, чтобы убедиться, что я использовал лучшие практики.
Я хочу ограничить результаты цикла до 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>';
}
}
Ваше решение в порядке, если вы хотите более структурированное решение, которое также может быть более понятным, вы можете использовать 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>';
}
}
Ваш код в порядке, но ..
Я не проверю, является ли он выше или равен, я бы только проверил, равен ли он следующим образом:
if($ctr == 16)