InitFromArray
Описание и параметры
CDBResult::InitFromArray( array values )
Метод инициализирует объект класса CDBResult значениями из массива. Нестатический метод.
Параметры
Параметр | Описание | values | Ассоциативный массив со значениями для объекта класса CDBResult. |
---|
Примеры использования
<? $arr = array(); $arr[] = array("ID" => 1, "NAME" => "Заголовок 1"); $arr[] = array("ID" => 2, "NAME" => "Заголовок 2"); $arr[] = array("ID" => 3, "NAME" => "Заголовок 3"); $arr[] = array("ID" => 4, "NAME" => "Заголовок 4"); $rs = new CDBResult; $rs->InitFromArray($arr); $rs->NavStart(2); if($rs->IsNavPrint()) { echo "<p>"; $rs->NavPrint("Элементы"); echo "</p>"; } ?>
<? // получим список файлов и каталогов CFileMan::GetDirList(Array($site_id, $path), $arDirs, $arFiles, $arFilter, Array($by=>$order), "DF"); // объединим файлы и каталоги в один массив $arDirContent = array_merge($arDirs, $arFiles); // создадим объект класса CDBResult $rsDirContent = new CDBResult; // инициализируем этот объект исходным массивом $rsDirContent->InitFromArray($arDirContent); // теперь на данном объекте // мы можем использовать все методы класса CDBResult // например, "Постраничная навигация": $rsDirContent->NavStart(50); if($rsDirContent->IsNavPrint()) echo "<p>"; $rs->NavPrint("Файлы"); echo "</p>"; while ($arElement = $rsDirContent->Fetch()): // если это каталог то if ($arElement["TYPE"]=="D"): // выводим название каталога echo $arElement["NAME"]; else: // иначе если это файл то // если это служебный файл то переходим к следующему элементу if ($arElement["NAME"]==".section.php") continue; // иначе выводим его название echo $arElement["NAME"]; endif; endwhile; ?>
Антон Долганин
|
||
Если мы выдергиваем элементы с инфоблока, а потом кормим массив InitFromArray, то при выборке из ИБ надо применять Fetch, а при выборке из InitFromArray - GetNext (если не требуется иная логика).
Ибо, если в первом случае тоже применить GetNext, тогда данные будут уже безопасными и html превратятся в сущности.
| ||
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.