Проверка массива

Как проверить массив в шаге «Условие»: пустой или непустой, содержит значение и сравнение количества элементов.

Шаг «Условие» умеет проверять пользовательские и глобальные массивы напрямую. Для обычной развилки не нужно сначала сохранять количество элементов в отдельное поле.

Например, чтобы отправить подписчика к оформлению заказа, можно проверить: «Товары в корзине» → «Не пустой».

Как добавить проверку

  1. Добавьте в сценарий шаг «Условие».
  2. Нажмите «Добавить условие».
  3. Откройте «Проверка поля».
  4. Выберите «Пользовательские поля» или «Глобальные переменные».
  5. Выберите массив.
  6. Выберите оператор, укажите значение, если оно требуется, и сохраните шаг.
  7. Настройте переходы для веток «Да» и «Нет».

Добавление проверки поля в шаге «Условие»
Добавление проверки поля в шаге «Условие»

Доступные проверки

ОператорЧто проверяетПример
ПустойУ массива нет значения или в нём нет элементовКорзина пуста
Не пустойВ массиве есть хотя бы один элементВ корзине есть товар
Содержит значениеВ массиве есть заданное значениеГорода содержат «Казань»
Не содержит значениеВ массиве нет заданного значенияИзбранное не содержит товар
Количество элементов равноРазмер массива равен числуВыбрано ровно 3 варианта
Количество элементов большеРазмер массива больше числаВ корзине больше 2 товаров
Количество элементов меньшеРазмер массива меньше числаОсталось меньше 5 дат

Проверить, пустой ли массив

Выберите оператор «Пустой». Условие сработает в двух случаях:

  • поле ещё не получило значение;
  • значение массива равно [].

Для противоположной проверки выберите «Не пустой».

Если нужна только развилка «есть элементы / нет элементов», это проще, чем сравнивать количество с нулём.

Проверить наличие значения

Для текстового массива укажите текст, для числового — число, для массива дат — дату соответствующего формата.

Пример:

Доступные города → Содержит значение → Казань

Сравнение точное. Для массива объектов проверка срабатывает, если указанное значение совпадает со значением хотя бы одного поля объекта. Например, массив

[{"name": "Онлайн-курс", "price": 2990}]

содержит значения Онлайн-курс и 2990.

Сравнить количество элементов

Выберите один из операторов количества и укажите целое число.

Примеры:

Товары в корзине → Количество элементов равно → 3
Товары в корзине → Количество элементов больше → 2
Доступные города → Количество элементов меньше → 10

Сравнение выполняется с текущим размером массива в момент прохождения подписчиком шага.

Когда нужна функция array_length

Для простой проверки используйте оператор количества прямо в шаге «Условие».

Функция «Количество элементов массива» нужна, если результат требуется:

  • сохранить в числовое поле;
  • вывести в сообщении;
  • использовать несколько раз в разных шагах;
  • включить в математическую формулу.

Функция «Количество элементов массива»
Функция «Количество элементов массива»

Для пустого массива или массива без значения функция возвращает 0.

Пример с промежуточным числовым полем

Допустим, количество товаров нужно сначала сохранить, затем показать подписчику и использовать в условии.

  1. Создайте числовое пользовательское поле «Количество товаров».
  2. Добавьте шаг «Действия».
  3. Выберите поле «Количество товаров».
  4. Выберите «Математические операции со значением».
  5. В меню переменных и функций выберите «Количество элементов массива».
  6. Выберите массив «Товары в корзине» и сохраните действие.
  7. В следующем сообщении вставьте поле «Количество товаров».
  8. В шаге «Условие» проверьте числовое поле, например «Больше чем 2».

Если количество не нужно сохранять или показывать, пропустите числовое поле и проверьте массив напрямую.

Несколько условий в одном шаге

В верхней части шага выберите режим:

  • «Соответствует каждому из условий» — должны выполниться все проверки;
  • «Соответствует любому из условий» — достаточно одной проверки.

Например, можно проверить, что корзина не пуста и содержит конкретный товар.

Что читать дальше

👆 На этом пока всё