Не смог разобраться, как сделать через [URL=http://php.net/manual/ru/function.usort.php]usort()[/URL] , пришлось делать в лоб.
[CODE]public function pereborka($massiv){//функция переборки массива товаров
$masssort = $this->idkategoriy;//массив с id-шниками категорий (отсортированные)
foreach ($masssort as $sort) {//сначала переборка массива айдишников категорий
foreach ($massiv as $mass) {//потом переборка массива товаров
if($mass["IBLOCK_SECTION_ID"] == $sort){//поиск соответствия id категории в товаре с массивом айдишников категорий
$novmass[] = $mass;//формируется новый массив
}
}
}
return $novmass;
}
$dbElements = CIBlockElement::GetList(
array(),
$arFilter,//массив с фильтром (был уже)
false,
false,
array()
);
$vivobj = $dbElements->arResult;//вынул из полученного объекта массив с товарами
$dbElements->arResult = $this->pereborka($vivobj);//заменил массив с товарами на полученный из функции
[/CODE]
[CODE]public function pereborka($massiv){//функция переборки массива товаров
$masssort = $this->idkategoriy;//массив с id-шниками категорий (отсортированные)
foreach ($masssort as $sort) {//сначала переборка массива айдишников категорий
foreach ($massiv as $mass) {//потом переборка массива товаров
if($mass["IBLOCK_SECTION_ID"] == $sort){//поиск соответствия id категории в товаре с массивом айдишников категорий
$novmass[] = $mass;//формируется новый массив
}
}
}
return $novmass;
}
$dbElements = CIBlockElement::GetList(
array(),
$arFilter,//массив с фильтром (был уже)
false,
false,
array()
);
$vivobj = $dbElements->arResult;//вынул из полученного объекта массив с товарами
$dbElements->arResult = $this->pereborka($vivobj);//заменил массив с товарами на полученный из функции
[/CODE]