具有空白列表条目的Foreach范围

时间:2016-09-11 19:32:31

标签: php foreach

假设我有一个外部源,我正在收集数据并将其放入列表表单中。 此外部源可以包含1到100个条目。 我们使用For col = 23 to 999 'or whatever Select Case col Case 23 To 27, 30 To 33, 40 To 44 'do whatever you like here End Select Next rand()来表示这一点。 (最少1个,1到15之间的随机数作为我们的总'条目')

range()

这个回声是这样的:

  • 1
  • 2
  • 3
  • 4

现在让我们说我希望<?php $max = rand(1, 15); $range = range(1, $max); ?> <ul> <?php foreach ($range as $number) { echo '<li>' . $number . '</li>'; } ?> </ul> 总是总共回响10次。

即使我的列表(<li>)低至1,也高达15。

如果是1,则显示第一个条目,然后显示9个空白$number(实际上,在我的代码中,它不会是空白的,但会在我的内部指定自己的文本。例如{{1} }

如果是15,则显示前10个条目,并切断最后5个条目。

在后一个示例中,我得到了如何设置我的foreach中的范围以便在10次迭代后停止,但是如何解释前者中的空白<li></li>列表?

1 个答案:

答案 0 :(得分:1)

不确定为什么会这样做...只需创建另一个数组并用随机值填充该数组。另一个数组接受这些值,最多10个,如果原始数组的值小于10,则用“空白”填充它。

<?php
    $max = rand(1, 15);
    $range = range(1, $max);
    $arr = [];

    for($i=0; $i<=9; $i++){
      if(isset($range[$i])){
        $arr[] = $range[$i];
      }else{
        $arr[] = 'blank';
      }
    }
    ?>
    <ul>
    <?php
    foreach ($arr as $number) {
      echo '<li>' . $number . '</li>';
    }
    ?>
    </ul>