循环数组项并限制显示

时间:2015-03-03 14:27:11

标签: php arrays loops for-loop foreach

有一个名为array的{​​{1}},其中包含从我的数据库中提取的多个数据值。对于这个$banners,我只想显示其中的七个值。所以我:

array

仅当$count = count($banners); for($count; ; $count++) { if($count > 7) { break; } foreach ($banners as $banner) { echo "<div>Hey, this is a " . $banner "!</div>" } } 包含少于或等于7个项目时,才会显示代码。否则,如果array超过7,则屏幕上不会显示任何内容。

所以,无论代码有两个还是一千个项目。屏幕上只能打印七个!反正有没有为它调整循环?

6 个答案:

答案 0 :(得分:1)

使用min显示最多7个元素,使用while循环和pop横幅显示:

$count = min(7, count($banners)); 
while ($count--) { 
    $banner = array_pop($banners); 
    echo "<div>Hey, this is a " . $banner ."!</div>"; 
} 

答案 1 :(得分:0)

$count = 0;
$arraySize = count($banners);
foreach ($banners as $banner) {
    if($count++ < $arraySize)
        echo "<div>Hey, this is a " . $banner "!</div>"
    else break;
}

答案 2 :(得分:0)

如果你这样做,循环将只迭代7次,无论如何:

$count = count($banners);
for($x = 0; $x < 7; $x++) {
    echo "<div>Hey, this is a " . $banner[$x] . "!</div>"
  }
}

$ x是用于计算循环迭代的单独变量,您可以使用它来从数组中选择第n个元素。

答案 3 :(得分:0)

在阵列上限制为7次(或更少)迭代并显示结果非常容易(参见其他答案)。然而,明显的问题是:

为什么不从数据库中选择7个项目的限制?

答案 4 :(得分:0)

我认为sizeof()函数就是你要找的......

if(sizeof($ banners)&lt; = 7){

 foreach ($banners as $banner)
 {
    echo "<div>Hey, this is a " . $banner "!</div>"
 }

}

答案 5 :(得分:0)

foreach ($banners as $key => $banner) 
{
  if($key == 7) 
  {
    break; //Breaking code flow!
  }
  echo "<div>Hey, this is a " . $banner "!</div>"
}