@zekin375

Как отфильтровать ассоциативный массив?

Есть php код получаю ассоциативный массив элементов $result. Подскажите пожалуйста как мне отфильтровать массив по строкову свойству PROPERTY_SHOW

То есть в конечном итоге в массив $result должно попасть только элементы с свойством PROPERTY_SHOW у которых значение Y

<?
if (CModule::IncludeModule("iblock")):
 
    $iblock_id = 36;
    # show url my elements
    $my_elements = CIBlockElement::GetList (
      Array("ID" => "ASC"),
      Array("IBLOCK_ID" => $iblock_id),
      false,
      false,
      Array('ID', 'NAME',  'PROPERTY_PRICE', 'DETAIL_PAGE_URL')
    );
 
$result = [];
while ($ar_fields = $my_elements->GetNext()) {
      $result[] = $ar_fields;
};
endif;
?>
  • Вопрос задан
  • 227 просмотров
Решения вопроса 1
$result = [];
while ($ar_fields = $my_elements->GetNext()) {
	
	if ($ar_fields['PROPERTY_SHOW_VALUE'] === 'Y'){
		$result[] = $ar_fields;
	}
};
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@tgarl
Сразу в фильтр не пробовали добавить?
$my_elements = CIBlockElement::GetList (
      Array("ID" => "ASC"),
      Array("IBLOCK_ID" => $iblock_id, 'PROPERTY_SHOW'=>'Y'),
      false,
      false,
      Array('ID', 'NAME',  'PROPERTY_PRICE', 'DETAIL_PAGE_URL')
    );
Ответ написан
Комментировать
profesor08
@profesor08 Куратор тега PHP
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы