Как сортировать элементы в массиве на PHP?

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

от clement.erdman , в категории: PHP , 2 года назад

Как сортировать элементы в массиве на PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от dmitrypro77 , 2 года назад

@clement.erdman На самом деле в PHP множетсво функций для сотртировки элементов в массиве:

Небольшой пример как можно сортировать элементы в массиве на PHP:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

$arr = [4, 2, 3, 1];

sort($arr);
print_r($arr);
// Вывод:
//Array
//(
//    [0] => 1
//    [1] => 2
//    [2] => 3
//    [3] => 4
//)

rsort($arr);
print_r($arr);
// Вывод:
//Array
//(
//    [0] => 4
//    [1] => 3
//    [2] => 2
//    [3] => 1
//)
Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

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

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

@clement.erdman 

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

  1. sort() - сортирует массив по возрастанию значений.
1
2
3
4
$numbers = array(4, 2, 8, 6);
sort($numbers);
print_r($numbers);
// Output: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 )


  1. rsort() - сортирует массив по убыванию значений.
1
2
3
4
$numbers = array(4, 2, 8, 6);
rsort($numbers);
print_r($numbers);
// Output: Array ( [0] => 8 [1] => 6 [2] => 4 [3] => 2 )


  1. asort() - сортирует массив по возрастанию значений, сохраняя ключи.
1
2
3
4
$ages = array("Peter"=>32, "John"=>28, "Mary"=>31);
asort($ages);
print_r($ages);
// Output: Array ( [John] => 28 [Mary] => 31 [Peter] => 32 )


  1. arsort() - сортирует массив по убыванию значений, сохраняя ключи.
1
2
3
4
$ages = array("Peter"=>32, "John"=>28, "Mary"=>31);
arsort($ages);
print_r($ages);
// Output: Array ( [Peter] => 32 [Mary] => 31 [John] => 28 )


  1. ksort() - сортирует массив по ключам, сохраняя значения.
1
2
3
4
$ages = array("Peter"=>32, "John"=>28, "Mary"=>31);
ksort($ages);
print_r($ages);
// Output: Array ( [John] => 28 [Mary] => 31 [Peter] => 32 )


  1. krsort() - сортирует массив по ключам в обратном порядке, сохраняя значения.
1
2
3
4
$ages = array("Peter"=>32, "John"=>28, "Mary"=>31);
krsort($ages);
print_r($ages);
// Output: Array ( [Peter] => 32 [Mary] => 31 [John] => 28 )


Обратите внимание, что эти функции изменяют исходный массив. Если вы не хотите изменять исходный массив, можете использовать соответствующую функцию с префиксом "array_", например, "array_sort()" вместо "sort()".