После того, как я выложил вот эту штуку выяснилось, что нужно еще вывести топ результатов только по первой попытке прохождения теста.
Но CTestAttempt::GetList не возвращает такого поля, по которому можно было бы понять какая это попытка. Пришлось отсортировать выборку по дате и выбрать первые записи с уникальными полями USER_NAME.
Получился вот такой массив(первые 5 записей):
Array ( [0] => Array ( [ID] => 83 [USER_NAME] => (i.kodryashova) Илена Кодряшова [SCORE] => 150 ) [1] => Array ( [ID] => 108 [USER_NAME] => (a.karocheva) Алена Карочева [SCORE] => 130 ) [2] => Array ( [ID] => 114 [USER_NAME] => (e.ontlopova) Екатерина Онтлопова [SCORE] => 140 ) [3] => Array ( [ID] => 115 [USER_NAME] => (m.demed) Максим Демед [SCORE] => 140 ) [4] => Array ( [ID] => 118 [USER_NAME] => (e.kirеek) Евгений Киреек [SCORE] => 140 ) [5] => Array ( [ID] => 133 [USER_NAME] => (i.ivanova) Инга Иванова [SCORE] => 90 ) )
Теперь его нужно отсортировать по SCORE. Делаю вот так:
array_multisort($arAttemptFill['ID'], SORT_ASC, SORT_NUMERIC, $arAttemptFill['USER_NAME'], SORT_ASC, SORT_STRING, $arAttemptFill['SCORE'], SORT_ASC, SORT_NUMERIC);
И ничего не происходит =( Как быть?
Сообщение отредактировал Murzik: 20.01.2012 - 19:08