Сделал сам.
Создал еще один массив и отсортировал его по полю SORT.
$servic = array();
foreach($arResult['PROPERTIES']['services']['VALUE'] as $key=>$services){
$res = CIBlockElement::GetByID($services);
if($ar_res = $res->GetNext()){
$servic[$key]['VALUE'] =$services;
$servic[$key]['SORT'] =$ar_res['SORT'];
//можно добавить еще один ключ $servic[$key]['RES'] = $ar_res; что-бы в следующем цикле не вытаскивать поля привязанного элемента
}
}
function cmp($a, $b){
return strcmp($a["SORT"], $b["SORT"]);
}
usort($servic, "cmp");//отсортировал по ключу SORT
foreach($servic as $key=>$services){}
Создал еще один массив и отсортировал его по полю SORT.
$servic = array();
foreach($arResult['PROPERTIES']['services']['VALUE'] as $key=>$services){
$res = CIBlockElement::GetByID($services);
if($ar_res = $res->GetNext()){
$servic[$key]['VALUE'] =$services;
$servic[$key]['SORT'] =$ar_res['SORT'];
//можно добавить еще один ключ $servic[$key]['RES'] = $ar_res; что-бы в следующем цикле не вытаскивать поля привязанного элемента
}
}
function cmp($a, $b){
return strcmp($a["SORT"], $b["SORT"]);
}
usort($servic, "cmp");//отсортировал по ключу SORT
foreach($servic as $key=>$services){}