У меня была задача вывести массив на php с разбивкой на части: первые 20 записей в одном блоке, остальные отображаются при нажатии на кнопку. Решил это с помощью array_slice — функция вывода среза с массива. Несколько примеров в записи.
Вывод части массива на php
Есть массив $old_hones. Выводим первые 20 элементов:
1 2 3 | foreach (array_slice($old_hones, 0, 20, true) as $hone) { echo $hone.'<br>'; } |
Описание функции можно найти в сети, тут примеры для меня и вас.
Выводим с 5 по 15 элемент:
1 2 3 | foreach (array_slice($old_hones, 5, 15, true) as $hone) { echo $hone.'<br>'; } |
true — для сохранение номера индекса в массиве.
Разбиваем на блоки массив на php через array_slice
1 2 3 | foreach (array_slice($old_hones, 20, count($old_hones), true) as $hone) { echo $hone.'<br>'; } |
И выводим остальные элементы в массиве. С 20 и до конца; count($old_hones) — размер массива.
Пример кода с условием если больше 20 элементов и выводом кнопки:
1 2 3 4 5 6 7 8 9 | 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 .
Спасибо за полезную инфу про массивы!
Всегда рад что кому-то поможет ;)