Функции по алфавиту
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] => Александр
)
)
*/
?>