рассортировать...

Cblpok

Новичок
рассортировать...

Вот есть у меня массив:
1- ффффф::1
2- ффффф::3
3- ффффф::2

Как рассортировать этот массив по возрастанию цифр после "::"?
Я предполагал, что надо фор(); использовать, а потом эксплоде();, а потом сорт();, но зашел в тупик.
Помогите...
 

XiMiK

Новичок
Ты вполне правельное напавление взял, но поленился додумать... Только не for, а foreach.
Но всёже проще usort:

function cmp($a, $b) {
$a = explode('::', $a);
$b = explode('::', $b);
if ($a[1] == $b[1]) { return 0; }
return ($a[1] > $b[1])?1:-1;
}

usort($array, "cmp");

Не проверял, но должно работать...
 

korvin0

моська
PHP:
$a = array(
	'rterter::3',
	'dsfgfgdsd::2',
	'safdsafd::1',
);
sort($a, SORT_NUMERIC);
print_r($a);
проверяем... все пашет!
 

HEm

Сетевой бобер
korvin0
а если у него в строчках есть цифры? или точки
 

korvin0

моська
HEm
... то все обвалится.
тогда вопрос к автору: что может стоять вместо вашего "фффффф"?
 

Фанат

oncle terrible
Команда форума
korvin0
никаких вопросов автору задавать не надо.
надо прочесть ответ, который ему дали до тебя.
молча.
 
Сверху