Сортировка массивов в PHP с помощью функции usort: примеры и код

Функция 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
        )
)