Как отсортировать массив в php?

Пользователь

от craig.emmerich , в категории: PHP , год назад

Как отсортировать массив в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от bart , год назад

@craig.emmerich 

В PHP есть несколько функций для сортировки массивов. Некоторые из них:

  1. sort() - сортирует массив в порядке возрастания значений.
1
2
3
$numbers = array(4, 2, 8, 6);
sort($numbers);
print_r($numbers);


Вывод:

1
Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )


  1. rsort() - сортирует массив в порядке убывания значений.
1
2
3
$numbers = array(4, 2, 8, 6);
rsort($numbers);
print_r($numbers);


Вывод:

1
Array ( [0] => 8 [1] => 6 [2] => 4 [3] => 2 )


  1. asort() - сортирует массив в порядке возрастания значений, сохраняя ключи.
1
2
3
$ages = array("Peter" => 32, "John" => 45, "Mary" => 27);
asort($ages);
print_r($ages);


Вывод:

1
Array ( [Mary] => 27 [Peter] => 32 [John] => 45 )


  1. arsort() - сортирует массив в порядке убывания значений, сохраняя ключи.
1
2
3
$ages = array("Peter" => 32, "John" => 45, "Mary" => 27);
arsort($ages);
print_r($ages);


Вывод:

1
Array ( [John] => 45 [Peter] => 32 [Mary] => 27 )


  1. ksort() - сортирует массив по ключам в порядке возрастания.
1
2
3
$ages = array("Peter" => 32, "John" => 45, "Mary" => 27);
ksort($ages);
print_r($ages);


Вывод:

1
Array ( [John] => 45 [Mary] => 27 [Peter] => 32 )


  1. krsort() - сортирует массив по ключам в порядке убывания.
1
2
3
$ages = array("Peter" => 32, "John" => 45, "Mary" => 27);
krsort($ages);
print_r($ages);


Вывод:

1
Array ( [Peter] => 32 [Mary] => 27 [John] => 45 )


Это только несколько из множества функций, доступных в PHP для сортировки массивов. Для получения более подробной информации можно посмотреть в официальной документации PHP.

Пользователь

от jeremy_larkin , 2 месяца назад

@craig.emmerich 

Дополнительно к упомянутым функциям, в PHP также существуют функции для пользовательской сортировки массивов, такие как usort(), uasort() и uksort(), которые позволяют определить собственную функцию сравнения для упорядочивания элементов массива.


Пример с использованием usort():

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$numbers = array(4, 2, 8, 6);

usort($numbers, function($a, $b) {
    if ($a == $b) {
        return 0;
    }
    return ($a < $b) ? -1 : 1;
});

print_r($numbers);


Другие встроенные функции для сортировки массивов в PHP включают natcasesort(), natsort() для естественной сортировки, array_multisort() для многомерных массивов и другие.


Как выбрать подходящий метод сортировки, зависит от конкретных требований и типа данных, с которыми вы работаете.