假设我有一个外部源,我正在从中收集数据并将其放入列表形式。这个外部源可以有1到100个条目。我们用rand()
和range()
来表示它。(最小值为1,1到15之间的随机数作为我们的总"条目")
<?php
$max = rand(1, 15);
$range = range(1, $max);
?>
<ul>
<?php
foreach ($range as $number) {
echo '<li>' . $number . '</li>';
}
?>
</ul>
回显如下:
- 1 2
- 3 4
现在我们假设我想让<li>
总回显10次。
即使我的列表($number
)低至1,或高至15。
如果它是1,它显示第一个条目,然后是9空白<li></li>
(实际上,在我的代码中,它不会是空白的,但会有我自己指定的文本在里面。如<li>Blank Entry</li>
如果是15,则显示前10项,并截断后5项。
在后一个示例中,我知道如何将foreach中的范围设置为在10次迭代后停止,但是如何解释前一个示例中空白的<li>
清单呢? 不知道为什么会这样…只需创建另一个数组并用随机值填充该数组。另一个数组接受这些值,最多10个,如果原始数组的值少于10个,则用'blank'填充。
<?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>