Существует array
именем $banners
с несколькими значениями данных, вытащенными из моей базы данных. Для этого array
я хотел бы отображать только семь из этих значений. Так что я:
$count = count($banners);
for($count; ; $count++) {
if($count > 7) {
break;
}
foreach ($banners as $banner) {
echo "<div>Hey, this is a " . $banner "!</div>"
}
}
Код будет отображаться только в том случае, если array
содержит меньше или равен 7 элементам. В противном случае, если array
имеет более 7, на экране ничего не появится.
Таким образом, независимо от того, имеет ли код два или тысячи элементов. На экране должно быть напечатано только семь! Есть ли способ настроить петлю?
использовать min
для отображения макс 7 элемента, использовать while
цикл и pop
баннера на дисплей:
$count = min(7, count($banners));
while ($count--) {
$banner = array_pop($banners);
echo "<div>Hey, this is a " . $banner ."!</div>";
}
Я думаю, функция sizeof() - это то, что вы ищете.
if (sizeof ($ banners) <= 7) {
foreach ($banners as $banner)
{
echo "<div>Hey, this is a " . $banner "!</div>"
}
}
Если вы сделаете это так, цикл будет повторяться только 7 раз независимо от того, что:
$count = count($banners);
for($x = 0; $x < 7; $x++) {
echo "<div>Hey, this is a " . $banner[$x] . "!</div>"
}
}
$ X - отдельная переменная для подсчета итераций цикла, и вы можете использовать ее для выбора n-го элемента из вашего массива.
foreach ($banners as $key => $banner)
{
if($key == 7)
{
break; //Breaking code flow!
}
echo "<div>Hey, this is a " . $banner "!</div>"
}
$count = 0;
$arraySize = count($banners);
foreach ($banners as $banner) {
if($count++ < $arraySize)
echo "<div>Hey, this is a " . $banner "!</div>"
else break;
}
Его довольно легко ограничить 7 (или меньше) итераций на массиве и отобразить результаты (см. Другие ответы). Однако вопиющий вопрос:
Почему вы не выбираете лимит из 7 элементов из своей базы данных?
$banners
? Есть причина для этого?foreach (array_slice($banners, 0, 7) as $banner) { ... }