Как вывести количество в массиве при условии свойства большего 0?

Для вывода количества элементов с определенным условием в массиве в 1C-Bitrix, можно использовать класс BitrixMainEntityQuery вместе с классом BitrixMainEntityExpressionField.

Перед тем как начать, нам необходимо получить объект класса BitrixMainEntityDataManager, который будет отвечать за работу с нужной нам таблицей в БД. Предположим, что нам нужно получить количество элементов из таблицы b_iblock_element, где значение свойства больше 0. Код для получения этого объекта может выглядеть так:

use BitrixMainEntity;
use BitrixIblockElementTable;

$entity = ElementTable::getEntity();

Далее создаем объект класса BitrixMainEntityQuery и задаем ему условия выборки исходя из наших требований. Добавляем выражение для подсчета количества элементов, которые удовлетворяют условию.

$query = new EntityQuery($entity);
$query->setSelect([
    'COUNT' => new EntityExpressionField('CNT', 'COUNT(*)')
]);
$query->setFilter([
    '>PROPERTY_NUMBER' => 0
]);

В приведенном примере мы используем выражение COUNT(*) для подсчета количества строк в таблице, удовлетворяющих условию. Условие '>PROPERTY_NUMBER' => 0 означает, что мы выбираем только те элементы, у которых значение свойства с именем PROPERTY_NUMBER больше 0.

Далее, запускаем выполнение запроса с помощью метода exec() и получаем результат:

$result = $query->exec()->fetch();
$count = $result['CNT'];

Теперь в переменной $count будет храниться количество элементов в массиве, у которых значение свойства PROPERTY_NUMBER больше 0.

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