$users = array
(
0 => array
(
'id' => '15',
'nickname' => 'nickname2'
),
1 => array
(
'id' => '25',
'nickname' => 'nickname1'
),
2 => array
(
'id' => '1',
'nickname' => 'nickname4'
),
3 => array
(
'id' => '3',
'nickname' => 'nickname10'
)
);
Надо, чтоб отсортировался в такой:
$users = array
(
0 => array
(
'id' => '25',
'nickname' => 'nickname1'
),
1 => array
(
'id' => '15',
'nickname' => 'nickname2'
),
2 => array
(
'id' => '1',
'nickname' => 'nickname4'
),
3 => array
(
'id' => '3',
'nickname' => 'nickname10'
)
);
т.е. в алфавитном порядке по нику... Подскажите, как это сделать по уму
Спустя 29 минут, 14 секунд (24.09.2010 - 20:59) sergeiss написал(а):
Цитата |
Description bool usort ( array &$array , callback $cmp_function ) This function will sort an array by its values using a user-supplied comparison function. If the array you wish to sort needs to be sorted by some non-trivial criteria, you should use this function. |
Вот то, что тебе нужно. В функции обратного вызова делаешь нужное сравнение - и вуаля

Спустя 1 час, 36 минут, 2 секунды (24.09.2010 - 22:35) Invis1ble написал(а):
сделал так:
скажите, это - грамотное решение?
function cmp($arr1, $arr2)
{
return strcmp($arr1['nickname'], $arr2['nickname']);
}
usort($users, 'cmp');
скажите, это - грамотное решение?
Спустя 13 минут, 58 секунд (24.09.2010 - 22:49) sergeiss написал(а):
Где-то так... Ты проверь
Если результат правильный, то всё нормально.

Спустя 4 минуты, 10 секунд (24.09.2010 - 22:53) Invis1ble написал(а):
sergeiss
Да, вроде нормально все. Спасибо за указанное направление раскопок
Да, вроде нормально все. Спасибо за указанное направление раскопок
_____________
Профессиональная разработка на заказ
Я на GitHub | второй профиль