GetPropertyValuesArray
CIBlockElement::GetPropertyValuesArray( &$result, $iblockID, $filter, $propertyFilter = array(), $options = array() );
Получение значений свойств элементов одного инфоблока для компонента. Строго рекомендуется как замена кода вида
$iterator = CIBlockElement::GetList(); while ($obj = $iterator->GetNextElement()) { $properties = $obj->GetProperties(); }в целях улучшения производительности.
Параметры функции
Параметр | Описание |
---|---|
result | Массив результатов, в качестве ключей должен содержать ID элементов. Передается по ссылке. Для каждого элемента вернет массив значений свойств. |
iblockID | ID инфоблока (ЕДИНИЧНОЕ значение) |
filter | Фильтр CIBlockElement::GetList для отбора элементов. Ключ IBLOCK_ID указывать нет необходимости - он будет добавлен внутри метода. |
propertyFilter | Фильтр для отбора свойств. необязательный. Может содержать 3 ключа. либо ID - массив ID возвращаемых свойств. либо CODE - массив символьных кодов свойств. При указании обоих ключей учитывается только ID. Третий ключ - фильтр по активности свойств. Если не указать - будут выведены только активные свойства |
options | Дополнительные настройки. Необязательный. Возможные ключи: USE_PROPERTY_ID = Y - ключами массива значений для каждого элемента использовать ID свойств. Иначе - символьные коды. PROPERTY_FIELDS - массив полей СВОЙСТВА, возвращаемых в результате. GET_RAW_DATA => Y - в этом случае в возвращаемых данных не будет ключей с ~ в начале, а оставшиеся не будут приведены к html-безопасному виду. |
Возвращаемое значение
Возвращаемое значение - нет.
Дмитрий Крюков
|
||||
Получение свойств методом GetPropertyValuesArray() для любого количества элементов обходятся статичным количеством запросов, за исключением получения значений списочных свойств, запросы на получение которых выполняются в цикле для каждого значения свойства.
Пример получения данных:
Если необходимо получить данные только одного элемента инфоблока, то лучше пользоваться связкой GetNextElement() ... GetProperties(), т.к. в этом случае GetPropertyValuesArray() проигрывает ему как в количестве выполняемых запросов, так и в скорости получения итогового результата примерно в 2 раза. | ||||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.