Функции для работы с массивами в PHP

18.03.201920213 мин. 23 сек.программированиеphp
Для работы с массивами в PHP существует множество полезных функций, знание которых может сильно упростить жизнь разработчику. Эти функции подойдут для работы как с простыми, так и с многомерными ассоциативными массивами. Данная статья - краткий справочник по использованию задокументированных функций. Приступим!

Как извлечь первый элемент массива

Часто возникает задача найти элемент в массиве находящийся в начале или в конце. Самым простым способом решения является использование индекса, но что если массив является ассоциативным, упорядоченным по определенному алгоритму?

array_shift(Array)

Данная функция извлекает первое значение массива и уменьшает его размер на один элемент. Нумерация цифрового массива будет сдвинута на единицу, а ключи ассоциативного останутся на прежнем месте.

array_unshift(Array, Value)

Добавляет в начало массива элемент или набор элементов с сохранением ключей и порядка. Числовые ключи будут переписаны и начнут свой отчет с нуля.

array_pop(Array)

Похожая на array_shift функция позволяет извлечь последний элемент, также уменьшив размер массива на один элемент

array_push(Array, Value)

Позволяет записать в массив новый элемент или набор элемент. Вставка будет произведена в конец. Если вы собираетесь добавить только один элемент - используйте комбинацию array[] = value. Данный способ задействует меньшее количество ресурсов, ввиду отсутствия необходимости инициализации функции

Как извлечь случайный элемент массива

PHP предоставляет несколько задокументированных функций для работы со случайностями, которые закрывают основные потребности разработчика.

array_rand(Array, Number)

Если вам нужно извлечь несколько случайных элементов, вам подойдет данная функция, которая возвращает ключ или массив со случайными ключами, после чего вы можете перебрать их и дополнительно получить значения. Необходимо вычислить количество элементов в массиве, так как функция выбросит ошибку, если число извлекаемых ключей превышает количество доступных элементов.

shuffle(Array)

Позволяет перемешать массив в случайном порядке. После окончания числовые ключи будут сброшены и переназначены

Преобразование массивов на PHP

Следующие функции, помогающие осуществлять преобразование массивов, значительно упростили и сократили мой код, а также слегка увеличили общую производительность написанных приложений.

explode(Separator, Array)

Иногда бывает необходимо разбить строковую переменную по определенному разделителю, например запятой, тире или точке. С данной задачей замечательно справляется данная функция.

implode(Separator, Array)

Используйте implode, чтобы выполнить преобразование массива в строку через разделитель. Я часто использую этот способ для формирования SQL запросов через AND. Вроде как данная функция работает намного быстрее чем перебор элементов с помощью foreach.

array_sum(Array)

Раньше я считал, что для подсчета суммы всех элементов набора нужно обязательно использовать прямой перебор и в принципе не сильно обламывался. Но как истинный перфекционист я борюсь за сокращение кода и уменьшение потребляемой памяти и временных ресурсов, даже если это экономия на спичках. Так вот - эта функция возвращает сумму всех значений всего в одну строчку.

array_product(Array)

Похожа на прошлую функцию, за исключением того, что производит перемножение всех числовых значений массива. Также сэкономит время и ресурсы на тупом переборе элементов с помощью foreach.

array_reverse(Array, KeyStay)

Сортирует массив в обратном порядке, с сохранением значений ключей в случае если передать вторым параметром TRUE.

array_walk_recursive(Array, Function)

Еще одна экономия на переборе с помощью foreach. Достаточно передать массив и функцию, первым аргументом которой будет значение, а вторым ключ. Вернет массив с измененными в соответствии с переданной функцией значениями.

Получение информации о массиве

Используйте следующие функции для получения статистической информации

min(Array)

Используйте, чтобы найти минимальный элемент массива. Если переданный массив будет пустым, функция вернет FALSE и выдаст предупреждение.

max(Array)

По аналогии с прошлой функцией позволяет найти максимальное значение в массиве. К сведению, если передать не числовые значения, то они будут сравниваться по правилам сравнения строк (побуквенно). При различии типов строка будет приниматься за 0.

count(Array, Mode = COUNT_NORMAL)

Наиболее часто используемая мной функция для определения размера массива. Если требуется подсчитать количество элементов в многомерном массиве, используйте второй параметр в значении COUNT_RECURSIVE, тогда функция осуществит рекурсивный обход.

array_count_values(Array)

Функция подсчитывает количество повторений значений в исходном массиве и возвращает массив, ключами которого являются значения прошлого массива, а значениями число их повторений.

array_merge(Array, Array)

Я использую эту функцию, чтобы получить сумму двух массивов. Возможно  и большее количество передаваемых элементов для слияния. Совпадающие строковые ключи будут приведены к одному, а числовые последовательно упорядоченны друг за другом.

array_filter(Array, Function)

Топ функция для меня, позволяющая получить отфильтрованный по определенной переданной функции массив. Мы можем отсечь четные, нечетные, цифровые или строковые значения, а также написать сложную фильтрующую функцию отбирающую по нескольким параметрам

Лого https://piploid.ru
15.12.2019 в 22:22Основы Javascript. Урок 2. Преобразование типовВ рамках урока узнаем: как в Javascript явно преобразовать один тип данных в другой и к чему приводят операции с разными типами02.12.2019 в 23:21Основы Javascript. Урок 1. Типы данныхВ первом уроке разберем существующие типы данных, а также способы их определения и официально признанные ошибки языка!24.05.2019 в 17:40Как оформлять статьи. Краткий справочник по быстрому SEOВы пишете интересные тексты, но никто не читает? Вероятно вы не соблюдаете даже половины из перечисленных в статье правил!03.04.2019 в 11:49Что такое доменное имя и где его купитьДавайте разберемся: что такое доменное имя и в чем отличие зоны RU от COM, где купить домен и как оформить его на себя26.03.2019 в 11:44Как собрать семантическое ядро для сайтаНебольшой гайд по правильному сбору семантики для своего сайта. Полезные сервисы для упрощения работы18.03.2019 в 22:01Работа с массивами по взросломуМой личный справочник необычных функций для работы с массивами. Как преобразовать массивы к нужному виду в одну строчку.
Оставить комментарий
Заказать сайт
ОТПРАВИТЬ
+7 926 426 93 41anton.ross@yandex.ru
ПОНЕДЕЛЬНИК-СУББОТА
09:00 - 20:00
×
Добро пожаловать

Авторизуйтесь чтобы оставлять комментарии и добавлять фильмы в избранное

Войти
Войдите через:
Создать учетную запись
Восстановление пароля

Укажите email указанный при регистрации, на который будет отправлена инструкция по восстановлению пароля

Сбросить пароль
Добро пожаловать

Зарегистрируйтесь чтобы оставлять комментарии и добавлять фильмы в избранное

Зарегистрироваться

Регистрируясь на сайте Вы соглашаетесь с политикой конфиденциальности нашего сайта и даете согласие на обработку персональных данных

Войдите через:
У меня есть учетная запись
Смена пароля

Используйте код отправленный на указанную вами почту для смены пароля

Сменить пароль