У меня была задача вывести массив на php с разбивкой на части: первые 20 записей в одном блоке, остальные отображаются при нажатии на кнопку. Решил это с помощью array_slice – функция вывода среза с массива. Несколько примеров в записи.
Вывод части массива на php
Есть массив $old_hones. Выводим первые 20 элементов:
foreach (array_slice($old_hones, 0, 20, true) as $hone) {
echo $hone.'<br>';
}
Описание функции можно найти в сети, тут примеры для меня и вас.
Выводим с 5 по 15 элемент:
foreach (array_slice($old_hones, 5, 15, true) as $hone) {
echo $hone.'<br>';
}
true – для сохранение номера индекса в массиве.
Разбиваем на блоки массив на php через array_slice
foreach (array_slice($old_hones, 20, count($old_hones), true) as $hone) {
echo $hone.'<br>';
}
И выводим остальные элементы в массиве. С 20 и до конца; count($old_hones) – размер массива.
Пример кода с условием если больше 20 элементов и выводом кнопки:
if (count($old_hones) > 20){ // Если размер массива больше 20
echo '<button id="second_part" onclick="part2();">Display part 2</button><div id="hone2">'; // Выведем кнопку, при нажатии на которую отобразятся остальные записи. id="hone2" нужен для скрипта на javascript
foreach (array_slice($old_hones, 20, count($old_hones), true) as $hone) {
echo $hone.'<br>';
}
echo '</div>';
}
Скрипт на js можно любой, у меня меняет стиль для блока hone2 с display:none на display:block .


Спасибо за полезную инфу про массивы!
Всегда рад что кому-то поможет 😉