Як визначити кількість елементів у масиві PHP?


Опубликованно 22.04.2018 05:00

Як визначити кількість елементів у масиві PHP?

Кількість елементів у масиві PHP пропонується визначати функцію count(). У більшості випадків це простий та практичний спосіб. Звичайний сайт не вимагає особливої логіки, не містить складних систем об'єктів, тому використання функції count() буде достатньо.

У випадках, коли масиви виступають в якості колекцій об'єктів або являють собою семантично взаємозалежні структури даних, обчислення кількості визначається змістом цих даних.Синтаксис і використання функції count()

Результат функції - кількість елементів у масиві, які передані в якості параметра. Нижче представлений приклад PHP: підрахунок кількості елементів в масиві.

Спочатку був створений масив з 13 випадкових елементів. Кожен елемент - рядок символів різного змісту і довжини. Потім було вилучено два елемента і доданий один. За логікою 13 - 2 + 1 = 12, але функція count() вважає інакше. Нижче наведено код виведення цього результату.

Оскільки був доданий масив, то число елементів повинно було збільшитися кількість елементів цього масиву. Зрозуміло, що мета функції count() - порахувати кількість елементів у масиві. PHP менше всього цікавить, що елементами масиву можуть бути теж масиви. Але в прикладному відношенні далеко не завжди елементи масиву включають в себе різнорідні інші масиви.Особливості структурування даних

Якщо мова йде про обробку даних з постачання фруктів в магазин, то елементом може бути ананас і різні сорти яблук або груш. Заводити на всі три позиції асортименту три різні структури даних по безлічі причин.

Один масив буде завжди найкращим рішенням, але в ньому може бути як мала рядок - «ананас», так і сукупність рядків - «сорт яблук» або «сорт груш». Рядків може бути безліч, все залежить від:дати поставки;сорти;кількості;ціни та ін.

Але сенс рядка всього масиву і рядка подмассива завжди буде один. У такому поданні даних кількість елементів у масиві PHP не визначити за своєю логікою. Тут масив повинен мати власний функціонал для визначення кількості. Функції count() не властива рекурсія, та її використання для визначення точної кількості елементів - не гарантія точного результату.Об'єкти та масиви

Масиви - безсумнівна якість і ефективність для представлення даних. Особливо ефективно використання масивів як колекцій об'єктів. Класичний цикл перебору елементів масиву або робота в стилі стека: тільки з першим елементом або тільки з останнім (після використання елемент видаляється, але стає доступним наступний або попередній). Не важливо, як працювати з колекцією об'єктів, але завжди кожному елементу такої колекції можна призначити власну функцію визначення кількості.

Тоді, не використовуючи функцію count(), кількість елементів у масиві PHP можна визначити через послідовний виклик методу кожного елемента в масиві. Формально така логіка має під собою підставу: є асортимент фруктів, що поставляються в магазин, але як бути, якщо асортимент збільшиться, і до ананасам, яблукам і грушам додадуться сливи? Як бути, якщо крім фруктів магазин почне продавати овочі?

Уявімо асортимент як об'єкт, в який входять:фрукти;овочі;можливість додавання будь-якого товару.

Можна отримати три рівня ієрархії об'єктів, і тоді можна буде визначити не тільки кількість елементів у масиві. PHP дозволить порахувати кількість товару, його вартість, визначити час продажу за умов придатності та ін. Використання даних у вигляді об'єктів дозволяє надати їм потрібну якість, від якого завжди легко отримати точну кількість.



Категория: Техника