我正在尝试将数组中的前10个项目显示为列表项,然后编写一些逻辑,其中包含一个按钮以将其余数组项显示为列表。在此先感谢您的帮助!
这是我到目前为止所拥有的
if (count($all_machines) > 10) {
echo '<ul>';
foreach($all_machines as $machine) {
echo '<li>' . $machine['name'] . '</li>';
}
echo '</ul>';
} else {
echo "No machines";
}
答案 0 :(得分:2)
使用foreach
您将遍历数组中的所有项目,我建议您在此处使用for
。
if (count($all_machines) > 10) {
echo '<ul>';
for ($i=0; $i<10; $i++) {
echo '<li>'.$all_machines[$i]['name'].'</li>';
}
echo '</ul>';
}
如果你想要访问其他值,也可以这样做
$count = count($all_machines);
if ($count > 10) {
echo '<ul>';
for ($i=0; $i<10; $i++) {//first 10 elements
echo '<li>'.$all_machines[$i]['name'].'</li>';
}
echo '</ul>';
for ($i=10; $i<$count; $i++) {//all other elements
//do something with $all_machines[$i]
}
}
答案 1 :(得分:2)
您可以使用 array_slice()
获取数组中的前10个元素,这样您仍然可以使用foreach
。
// number of items to display
$display_threshold = 10;
if (count($all_machines) > $display_threshold) {
echo '<ul>';
foreach(array_slice($all_machines, 0, $display_threshold) as $machine)
echo '<li>' . $machine['name'] . '</li>';
echo '</ul>';
} else {
echo 'No machines';
}