Сортировка римского числа в php

У меня есть занятия по римскому номеру, например

    I
    II 
    III
    IV
    IX
    V
    VI
    VII
    XI Commerce
    XI Arts 
    XI Science

Я пробовал сортировать по функции римского числа, но из-за дополнительной строки есть класс XI, такой как искусство, коммерция, поэтому теперь он работает в соответствии с аспектом. Есть ли способ выйти с каким-либо результатом.

введите описание изображения здесь


person Pramod Kumar Sharma    schedule 23.05.2013    source источник
comment
Лучше сначала сделать преобразователь латинскими буквами в числовые.   -  person matzone    schedule 23.05.2013
comment
Я уже пробовал это, но дополнительная строка с номером вызывает проблему   -  person Pramod Kumar Sharma    schedule 23.05.2013
comment
Это может дать вам подсказку stackoverflow.com/questions/6265596/   -  person Orangepill    schedule 23.05.2013


Ответы (2)


Попробуйте добавить поле сорфа или что-то еще, где будет

id value
1    I
2    II
3    III

и так далее

person Modestas Stankevičius    schedule 23.05.2013
comment
Ищу любой метод php - person Pramod Kumar Sharma; 23.05.2013
comment
$a = array('XIX', 'LII', 'V', 'MCCXCIV', 'III', 'XIII'); $bool = usort($a, function($a, $b) { return RomanNumber::Roman2Int($a) - RomanNumber::Roman2Int($b); }); var_dump($a); попробуйте это. возможно, это поможет. stackoverflow.com/questions/6265596/ - person Modestas Stankevičius; 23.05.2013
comment
У вас есть класс, в котором уже есть римские числа? или эти числа вытаскиваете из базы данных? - person Modestas Stankevičius; 23.05.2013
comment
Администратор может добавлять новые классы и это происходит из базы данных - person Pramod Kumar Sharma; 23.05.2013

сначала взорвите строку, чтобы получить римские цифры.

$str = explode(" ",$yourstring);
$roman = $str[0]; //the roman numerals
$subject = $str[1]; //the subject;

затем создайте функцию для преобразования римских цифр в числа.

person shark    schedule 23.05.2013