라이브러리

[PHP] usort - 사용자 정의 비교 함수를 사용하여 값으로 배열을 정렬합니다.




PHP에서 usort 함수

PHP의 `usort` 함수는 배열 내의 요소를 정렬하는 데 사용되는 함수입니다. 이 함수는 정렬 기준을 지정할 수 있으며, 기본적으로 오름차순으로 정렬합니다.

usort 함수의 기본 사용법

`usort` 함수의 기본 사용법은 다음과 같습니다.

#hostingforum.kr
php

usort($array, $cmp_function);



* `$array`: 정렬할 배열
* `$cmp_function`: 정렬 기준을 지정하는 함수

예제 1: 기본 정렬

#hostingforum.kr
php

$array = array(3, 6, 1, 8, 2);

usort($array);

print_r($array);



이 예제에서는 `$array` 배열을 오름차순으로 정렬합니다. 출력 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [0] => 1

    [1] => 2

    [2] => 3

    [3] => 6

    [4] => 8

)



예제 2: 역순 정렬

#hostingforum.kr
php

$array = array(3, 6, 1, 8, 2);

usort($array, function($a, $b) {

    return $b - $a;

});

print_r($array);



이 예제에서는 `$array` 배열을 내림차순으로 정렬합니다. 출력 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [0] => 8

    [1] => 6

    [2] => 3

    [3] => 2

    [4] => 1

)



예제 3: 정렬 기준을 지정하는 함수

#hostingforum.kr
php

$array = array(

    array('name' => 'John', 'age' => 25),

    array('name' => 'Jane', 'age' => 30),

    array('name' => 'Bob', 'age' => 20)

);

usort($array, function($a, $b) {

    return $a['age'] - $b['age'];

});

print_r($array);



이 예제에서는 `$array` 배열의 요소를 정렬합니다. 정렬 기준은 요소의 `age` 프로퍼티입니다. 출력 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [name] => Bob

            [age] => 20

        )



    [1] => Array

        (

            [name] => John

            [age] => 25

        )



    [2] => Array

        (

            [name] => Jane

            [age] => 30

        )



)



예제 4: 정렬 기준을 지정하는 함수 (문자열)

#hostingforum.kr
php

$array = array(

    array('name' => 'John', 'age' => 25),

    array('name' => 'Jane', 'age' => 30),

    array('name' => 'Bob', 'age' => 20)

);

usort($array, function($a, $b) {

    return strcmp($a['name'], $b['name']);

});

print_r($array);



이 예제에서는 `$array` 배열의 요소를 정렬합니다. 정렬 기준은 요소의 `name` 프로퍼티입니다. 출력 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [name] => Bob

            [age] => 20

        )



    [1] => Array

        (

            [name] => Jane

            [age] => 30

        )



    [2] => Array

        (

            [name] => John

            [age] => 25

        )



)



예제 5: 정렬 기준을 지정하는 함수 (정규 표현식)

#hostingforum.kr
php

$array = array(

    array('name' => 'John Doe', 'age' => 25),

    array('name' => 'Jane Smith', 'age' => 30),

    array('name' => 'Bob Johnson', 'age' => 20)

);

usort($array, function($a, $b) {

    return preg_match('/d+/', $a['name']) - preg_match('/d+/', $b['name']);

});

print_r($array);



이 예제에서는 `$array` 배열의 요소를 정렬합니다. 정렬 기준은 요소의 `name` 프로퍼티에서 숫자를 찾는 것입니다. 출력 결과는 다음과 같습니다.

#hostingforum.kr
php

Array

(

    [0] => Array

        (

            [name] => John Doe

            [age] => 25

        )



    [1] => Array

        (

            [name] => Bob Johnson

            [age] => 20

        )



    [2] => Array

        (

            [name] => Jane Smith

            [age] => 30

        )



)



이 예제들은 `usort` 함수의 다양한 사용법을 보여줍니다. `usort` 함수는 배열 내의 요소를 정렬하는 데 사용되는 함수이며, 정렬 기준을 지정할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 51 페이지

검색

게시물 검색