Справочник функций PHP /
Функции по алфавиту
A B C D E F G H I J K L M N O P Q R S T U V W

usort

bool usort ( array &$array , callback $cmp_function ) usort использует функцию с именем $cmp_function для сравнения элементов и сортировки массива $array. Если есть какие-то определённые требования к сортировке массива, то это как раз то, что нужно. Пользовательская функция имеет два аргумента — передвавемые для сравнения элементы массива. Вернуть функция должна целое число: 0 (ноль), если элементы равны, целое больше ноля, если первый аргумент больше, целое меньше ноля, если второй элемент меньше. usort возвращает true, если массив удачно отсортирован, иначе — false. Пример использования: <?php
// Пусть в массиве хранится информация о пользователях
$users=array(
array(
'id'=>10,
'name'=>'Фёдор'
),
array(
'id'=>2,
'name'=>'Иван'
),
array(
'id'=>4,
'name'=>'Александр'
),
array(
'id'=>3,
'name'=>'Пётр',
),
array(
'id'=>7,
'name'=>'Александр'
)
);

// Пользовательская функция для сортировки по именам пользователей в обратном порядке
function mysortfunc($a, $b)
{
if (
$a['name']==$b['name']) return 0;
return (
$a['name']>$b['name']) ? -1 : 1;
}

// Отсортируем
usort($users, 'mysortfunc');

print_r($users);
/*
Array
(
[0] => Array
(
[id] => 10
[name] => Фёдор
)

[1] => Array
(
[id] => 3
[name] => Пётр
)

[2] => Array
(
[id] => 2
[name] => Иван
)

[3] => Array
(
[id] => 7
[name] => Александр
)

[4] => Array
(
[id] => 4
[name] => Александр
)

)
*/
?>