Yii2 ArrayHelper. Часть 1

Yii2 ArrayHelper

От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных знакомству с фреймворком Yii2. В этой статье мы познакомимся с классом-помощником Yii2 ArrayHelper. Данный хэлпер предлагает набор методов для удобной работы с массивами.

Массивы и объекты — это то, с чем мы работаем достаточно часто. И PHP предлагает нам богатый набор нативных функций, которые помогают решать широкий круг задач. Однако в своей практике мы сталкиваемся с самыми разными задачами и даже этого богатства функций бывает мало. В этом случае мы вынуждены писать собственные методы, позволяющие решить поставленные задачи.

И здесь хорошим помощником будет класс yii\helpers\ArrayHelper, который имеет в своем арсенале почти два десятка методов для работы с массивами. Давайте же познакомимся с некоторыми из этих методов.

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

И передадим в представление, где просто распечатаем на экран:

В результате мы увидим примерно такой массив:

Yii2 ArrayHelper

Обычный многомерный массив, с которым мы и поработаем. Начнем с извлечения столбцов и метода getColumn, который и позволит нам получить все значения конкретного ключа в отдельный массив. Давайте получим наименования категорий:

Первым параметром мы передали входной массив, вторым параметром — ключ, значения которого необходимо получить. А вот и результат:

Yii2 ArrayHelper

Неплохо, не так ли? Никаких дополнительных циклов, где бы мы вынуждены были формировать новый массив из нужных элементов прежнего. Вызов уже готового метода и — результат.

Идем дальше. Вернем исходный массив и попробуем проставить нужные нам индексы для него, например ID категорий. Для этого Yii предлагает метод index, которому мы также передадим аналогичные два параметра.

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

Yii2 ArrayHelper

И последний полезный метод, с которым мы сегодня познакомимся, — это метод map. Этот метод позволяет на основе входящего массива создать новый, где ключами и значениями будут значения указанных ключей входящего массива. Наверное, будет проще понять на примере. Давайте построим новый массив, взяв из предыдущего в качестве ключей значения id, а в качестве значений возьмем значения name.

Результат несколько поход на результат работы метода getColumn, который мы использовали выше, но map в качестве ключей взял именно значения id.

Yii2 ArrayHelper

На этом мы пока остановимся. Больше о фреймворке вы можете узнать из наших бесплатных или платных уроков. Также создание простейшего блога на Yii2 можно посмотреть в этом цикле уроков.

Метки:

Похожие статьи:

Комментарии Вконтакте: