Как ограничить количество итераций в цикле foreach на PHP?
foreach – удобный инструмент, который помогает пройтись по всему массиву данных и в последующем с полученными элементами массива произвести необходимые операции.
Но есть один минус в использовании этого цикла – он выводит все результаты, удовлетворяющие вашим условиям выборки.
А что делать, если вам не нужны все, например, 100 значений, а нужны лишь первые 10?
Для этого воспользуемся небольшим, так скажем, хаком, в основе которого лежит увеличение некой переменной и ее сравнение с заданным числом.
Для начала есть смысл рассмотреть простой пример цикла:
$array = array(
"Shawn Crahan",
"Craig Jones",
"Mick Thomson",
"Corey Taylor",
"Sid Wilson",
"Chris Fehn",
"Jim Root",
"Jay Weinberg",
"Alessandro Venturella"
);
foreach($array as $value) {
echo $value."<br>";
}
«$value» здесь выведет нам имена всех участников группы Slipknot. А теперь сделаем ограничение, чтобы вывод был только первых трех:
$array = array(
"Shawn Crahan",
"Craig Jones",
"Mick Thomson",
"Corey Taylor",
"Sid Wilson",
"Chris Fehn",
"Jim Root",
"Jay Weinberg",
"Alessandro Venturella"
);
$i = 0; // Задаем переменную
foreach($array as $value) {
$i++; // С каждым обходом увеличиваем переменную на 1
if($i > 3) {
break; // При достижении i > 3 останавливаем выборку
}
echo $value."<br>";
}
А с помощью следующего варианта выведем все значения после третьего:
$array = array(
"Shawn Crahan",
"Craig Jones",
"Mick Thomson",
"Corey Taylor",
"Sid Wilson",
"Chris Fehn",
"Jim Root",
"Jay Weinberg",
"Alessandro Venturella"
);
$i = 0; // Задаем переменную
foreach($array as $value) {
$i++; // С каждым обходом увеличиваем переменную на 1
if($i > 3) { // При достижении i > 3 выводим результат
echo $value."<br>";
}
}
Надеюсь, эта статья поможет вам в решении ваших задач. Если не получается составить необходимое условие – напишите об этом в комментариях к данной статье.