6 методов сортировки массивов в PHP с примерами кода

  1. sort(): эта функция сортирует массив в порядке возрастания, сохраняя при этом ассоциации индексов.

    $fruits = array("apple", "banana", "orange");
    sort($fruits);
    print_r($fruits);

    Выход:

    Array
    (
    [0] => apple
    [1] => banana
    [2] => orange
    )
  2. rsort(): эта функция сортирует массив в порядке убывания, сохраняя при этом ассоциации индексов.

    $numbers = array(5, 3, 8, 2);
    rsort($numbers);
    print_r($numbers);

    Выход:

    Array
    (
    [0] => 8
    [1] => 5
    [2] => 3
    [3] => 2
    )
  3. asort(): эта функция сортирует массив в порядке возрастания, сохраняя ассоциации индексов.

    $ages = array("John" => 25, "Jane" => 30, "Alice" => 20);
    asort($ages);
    print_r($ages);

    Выход:

    Array
    (
    [Alice] => 20
    [John] => 25
    [Jane] => 30
    )
  4. ksort(): эта функция сортирует массив по ключам в порядке возрастания.

    $prices = array("apple" => 0.5, "banana" => 0.25, "orange" => 0.75);
    ksort($prices);
    print_r($prices);

    Выход:

    Array
    (
    [apple] => 0.5
    [banana] => 0.25
    [orange] => 0.75
    )
  5. arsort(): эта функция сортирует массив в порядке убывания, сохраняя ассоциации индексов.

    $grades = array("John" => 80, "Jane" => 95, "Alice" => 75);
    arsort($grades);
    print_r($grades);

    Выход:

    Array
    (
    [Jane] => 95
    [John] => 80
    [Alice] => 75
    )
  6. uasort(): эта функция сортирует массив с использованием определяемой пользователем функции сравнения, сохраняя при этом ассоциации индексов.

    function compareLength($a, $b)
    {
    return strlen($a) - strlen($b);
    }
    $words = array("apple", "banana", "orange", "grape");
    uasort($words, "compareLength");
    print_r($words);

    Выход:

    Array
    (
    [0] => apple
    [3] => grape
    [1] => banana
    [2] => orange
    )