Функция usortв PHP используется для сортировки массива по его значениям с использованием определяемой пользователем функции сравнения. Вот несколько примеров использования usortв PHP:
Метод 1. Сортировка массива чисел по возрастанию.
$numbers = [5, 2, 8, 1, 3];
usort($numbers, function($a, $b) {
return $a - $b;
});
print_r($numbers);
Выход:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 5
[4] => 8
)
Метод 2. Сортировка массива строк в порядке убывания длины строки.
$fruits = ["apple", "banana", "orange", "kiwi", "mango"];
usort($fruits, function($a, $b) {
return strlen($b) - strlen($a);
});
print_r($fruits);
Выход:
Array
(
[0] => banana
[1] => orange
[2] => apple
[3] => mango
[4] => kiwi
)
Метод 3. Сортировка массива объектов по определенному свойству.
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$people = [
new Person("John", 25),
new Person("Alice", 30),
new Person("Bob", 20)
];
usort($people, function($a, $b) {
return $a->age - $b->age;
});
print_r($people);
Выход:
Array
(
[0] => Person Object
(
[name] => Bob
[age] => 20
)
[1] => Person Object
(
[name] => John
[age] => 25
)
[2] => Person Object
(
[name] => Alice
[age] => 30
)
)