Всем доброго времени суток!
Раньше реализовывал выборку элементов из инфоблока, отвечающих списку ID таким образом:
Вопрос: можно ли реализовать ту же задачу, передав в фильтр массив ID-шек? Чтобы не прогонять весь предыдущий код столько раз, сколько у меня различных ID, по которым я ищу, а сделать что-то наподобие такого:
Читал, что передавать массив в фильтр можно таким образом: $arFilter = array("ID" => Array(1,4,509,10))
Так мы сделать можем, когда точно знаем количество и значения ID, а когда не знаем, как поступить?
Раньше реализовывал выборку элементов из инфоблока, отвечающих списку ID таким образом:
Код |
---|
<?foreach($arResult[PROPERTIES][producer][VALUE] as $producer):?> <? $arSelect = Array("ID","NAME","DETAIL_PAGE_URL"); $arFilter = Array("IBLOCK_ID"=>14, "ID"=> $producer, "ACTIVE"=>"Y",); $res = CIBlockElement::GetList(Array(), $arFilter, false, Array("nPageSize"=>4), $arSelect); while($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); echo $arFields["NAME"]."<br/>"; } ?> <?endforeach;?> |
Вопрос: можно ли реализовать ту же задачу, передав в фильтр массив ID-шек? Чтобы не прогонять весь предыдущий код столько раз, сколько у меня различных ID, по которым я ищу, а сделать что-то наподобие такого:
Код |
---|
<?foreach($arResult[PROPERTIES][producer][VALUE] as $producer):?> <?$arProducer[] = $producer;?> <?endforeach;?> .... $arFilter = Array("IBLOCK_ID"=>14, "ID"=>Array($arProducer), "ACTIVE"=>"Y",); |
Читал, что передавать массив в фильтр можно таким образом: $arFilter = array("ID" => Array(1,4,509,10))
Так мы сделать можем, когда точно знаем количество и значения ID, а когда не знаем, как поступить?