>  기사  >  백엔드 개발  >  PHP에서 배열을 정렬하는 방법은 무엇입니까?

PHP에서 배열을 정렬하는 방법은 무엇입니까?

PHPz
PHPz원래의
2023-04-20 13:54:313415검색

PHP에서 배열은 일련의 데이터를 저장할 수 있고 쉽게 조작할 수 있는 매우 중요한 데이터 유형입니다. 배열을 정렬해야 할 때 PHP는 많은 내장 함수와 메소드를 제공합니다.

이 기사에서는 주로 다음을 포함하여 PHP에서 일반적으로 사용되는 배열 정렬 방법을 소개합니다.

  1. array_sort() 함수
  2. sort() 함수
  3. asort() 함수
  4. ksort() 함수
  5. usort() 함수
  6. uasort() 함수
  7. uksort() 함수
  8. natsort() 함수
  9. arsort() 함수
  10. rsort() 함수
  11. array_sort() 함수

array_sort() 함수는 PHP에서 사용자 정의됩니다. 함수 배열을 정렬하는 데 사용할 수 있습니다. 이 함수를 호출할 때 두 개의 매개변수를 전달해야 합니다. 첫 번째 매개변수는 정렬할 배열이고 두 번째 매개변수는 정렬 방법입니다.

다음은 array_sort() 함수를 사용하여 배열을 정렬하는 예입니다.

function array_sort($arr,$keys,$type=SORT_ASC){
    $keysvalue = array();
    foreach($arr as $key=>$val){
        $keysvalue[$key] = $val[$keys];
    }
    if($type == SORT_ASC){
        asort($keysvalue);
    }else{
        arsort($keysvalue);
    }
    reset($keysvalue);
    foreach($keysvalue as $key=>$vals) {
        $keysort[$key] = $key;
    }
    $new_array = array();
    foreach($keysort as $key=>$val) {
        $new_array[$val] = $arr[$val];
    }
    return $new_array;
}

Usage:

$arr = array(

array('id'=>1,'name'=>'Tom','age'=>20),
array('id'=>2,'name'=>'Jerry','age'=>18),
array('id'=>3,'name'=>'Lucy','age'=>22)

);
$arr = array_sort($arr,'age',SORT_DESC ) ;
print_r($arr);

출력 결과:

Array
(

[0] => Array
    (
        [id] => 3
        [name] => Lucy
        [age] => 22
    )

[1] => Array
    (
        [id] => 1
        [name] => Tom
        [age] => 20
    )

[2] => Array
    (
        [id] => 2
        [name] => Jerry
        [age] => 18
    )

)

  1. sort() function

sort() 함수는 PHP에서 주로 사용되는 정렬 함수 중 하나입니다. 배열 정렬. 오름차순이나 내림차순으로 정렬할 수도 있고 배열의 인덱스 관계를 변경하지 않고 유지할 수도 있습니다.

다음은 sort() 함수를 사용하여 배열을 정렬하는 예입니다.

$arr = array(3,1,4,2,5);
sort($arr);
print_r($arr) ;

출력 결과:

Array
(

[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5

)

  1. asort() 함수

asort() 함수는 배열을 오름차순이나 내림차순으로 정렬할 수 있지만 유지됩니다. 배열의 인덱스 관계는 변경되지 않습니다. asort() 함수를 사용하면 해당 값을 기준으로 배열을 정렬합니다.

다음은 asort() 함수를 사용하여 배열을 정렬하는 예입니다.

$arr = array(3,1,4,2,5);
asort($arr);
print_r($arr) ;

출력 결과:

Array
(

[1] => 1
[3] => 2
[0] => 3
[2] => 4
[4] => 5

)

  1. ksort() function

ksort() 함수는 배열을 오름차순이나 내림차순으로 정렬할 수 있지만 유지됩니다. 배열의 키와 값 사이의 관계는 변경되지 않습니다.

다음은 ksort() 함수를 사용하여 배열을 정렬하는 예입니다.

$arr = array('d'=>'Dog','a'=>'Apple','c'= > 'Cat','b'=>'Boy');
ksort($arr);
print_r($arr);

출력 결과:

Array
(

[a] => Apple
[b] => Boy
[c] => Cat
[d] => Dog

)

  1. usort( ) 함수

usort() 함수는 배열을 정렬하는 방법입니다. usort() 함수를 사용하면 정렬 알고리즘을 사용자 정의할 수 있습니다. usort() 함수를 사용할 때 원하는 기준(문자열에 포함된 문자 수나 숫자의 크기 등)에 따라 배열의 값을 비교하는 비교 함수를 지정할 수 있습니다.

다음은 배열을 정렬하기 위해 usort() 함수를 사용하는 예입니다:

function cmp($a, $b)
{

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;

}
$arr = array(3,1,4,2,5 ) ;
usort($arr, "cmp");
print_r($arr);

출력 결과:

Array
(

[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5

)

  1. uasort() 함수

uasort() 함수는 다음과 같습니다. PHP usort() 함수와 유사하며 정렬 알고리즘을 사용자 정의할 수 있는 정렬 함수입니다. 하지만 usort() 함수와 달리 배열의 키 값을 변경하지 않고 유지합니다.

다음은 uasort() 함수를 사용하여 배열을 정렬하는 예입니다.

function cmp($a, $b)
{

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;

}
$arr = array('d'=>'Dog ', 'a'=>'사과','c'=>'고양이','b'=>'소년');
uasort($arr, "cmp");
print_r($arr) ;

출력 결과:

Array
(

[a] => Apple
[b] => Boy
[c] => Cat
[d] => Dog

)

  1. uksort() function

uksort() 함수는 PHP의 정렬 함수입니다. ksort() 함수와 유사하며 포함될 수도 있습니다. 오름차순 또는 내림차순으로 정렬하는 방법입니다. 그러나 ksort() 함수와 달리 정렬 알고리즘을 사용자 정의할 수 있으며 키와 값 간의 관계를 변경되지 않은 상태로 유지할 수 있습니다.

다음은 uksort() 함수를 사용하여 배열을 정렬하는 예입니다:

function cmp($a, $b)
{

if ($a == $b) return 0;
return ($a < $b) ? -1 : 1;

}
$arr = array('d'=>'Dog' , 'a'=>'사과','c'=>'고양이','b'=>'소년');
uksort($arr, "cmp");
print_r($arr);

출력 결과:

Array
(

[a] => Apple
[b] => Boy
[c] => Cat
[d] => Dog

)

  1. natsort() 함수

natsort() 함수는 PHP의 정렬 함수입니다. 자연수에 따라 배열을 정렬하는데, 이는 사용자에게 별로 유용하지 않을 수 있습니다. -친절한 숫자 문자열로 숫자를 비교하기 때문에 직관적입니다.

다음은 natsort() 함수를 사용하여 배열을 정렬하는 예입니다.

$arr = array('img12.png', 'img10.png', 'img2.png', 'img1.png') ;
natsort($arr);
print_r($arr);

출력 결과:

Array
(

[3] => img1.png
[2] => img2.png
[1] => img10.png
[0] => img12.png

)

  1. arsort()函数

arsort()函数是PHP中的一种排序函数,它可以按照降序方式将数组中的元素进行排序。该函数不会保留原来数组中的键(key)与值(value)之间的关系。

下面是一个使用arsort()函数对数组进行排序的例子:

$arr = array(3,1,4,2,5);
arsort($arr);
print_r($arr);

输出结果:

Array
(

[4] => 5
[2] => 4
[0] => 3
[1] => 1
[3] => 2

)

  1. rsort()函数

rsort()函数是PHP中常用的排序函数之一,它可以按照降序的方式来排序。该函数不会保留原来数组中的键(key)与值(value)之间的关系。

下面是一个使用rsort()函数对数组进行排序的例子:

$arr = array(3,1,4,2,5);
rsort($arr);
print_r($arr);

输出结果:

Array
(

[0] => 5
[1] => 4
[2] => 3
[3] => 2
[4] => 1

)

总结:

以上介绍了PHP中常用的数组排序方法,包括array_sort()函数、sort()函数、asort()函数、ksort()函数、usort()函数、uasort()函数、uksort()函数、natsort()函数、arsort()函数和rsort()函数。不同的排序函数有不同的需求和使用场景,开发者应根据具体的需求来选择合适的排序函数。

위 내용은 PHP에서 배열을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.