usort — 사용자 정의 비교 함수를 사용하여 값으로 배열 정렬 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

usort — 사용자 정의 비교 함수를 사용하여 값으로 배열 정렬 정보

PHP usort — 사용자 정의 비교 함수를 사용하여 값으로 배열 정렬

본문

usort — 사용자 정의 비교 함수를 사용하여 값으로 배열 정렬

 

[Description]

bool usort ( array &$array , callable $value_compare_func )

 

이 함수는 사용자 제공 비교 함수를 사용하여 값으로 배열을 정렬합니다. 정렬하려는 배열을 중요한 기준으로 정렬해야하는 경우이 함수를 사용해야합니다.

 

Note:

두 멤버가 동등한 것으로 비교되는 경우 정렬 된 배열에서 상대적인 순서는 정의되지 않습니다.

참고 :이 함수는 배열에있는 요소에 새 키를 할당합니다. 키를 재정렬하는 것이 아니라 할당 된 기존 키를 제거합니다.

 

[Parameters]

array

입력 배열입니다.

 

value_compare_func

 

첫 번째 인수가 각각 두 번째 인수보다 작거나 같거나 큰 것으로 간주되면 비교 함수는 0보다 작거나 같은 정수 또는 큰 정수를 반환해야합니다. PHP 7.0.0 이전에는이 ​​정수가 -2147483648에서 2147483647 사이 여야했습니다.

 

int callback ( mixed $a, mixed $b )

 

Caution

float와 같은 비교 함수에서 비 정수 값을 반환하면 콜백 반환 값의 정수로 내부 캐스트가됩니다. 따라서 0.99와 0.1 같은 값은 모두 정수 값 0으로 형변환되며,이 값은 같은 값을 같은 것으로 비교합니다.

 

[Return Values]

성공하면 TRUE를 반환하고 실패하면 FALSE를 반환합니다.

 

Example #1 usort() example

 

<?php

function cmp($a, $b)

{

    if ($a == $b) {

        return 0;

    }

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

}

 

$a = array(3, 2, 5, 6, 1);

 

usort($a, "cmp");

 

foreach ($a as $key => $value) {

    echo "$key: $value\n";

}

?>

output:

0: 1

1: 2

2: 3

3: 5

4: 6

 

 

 

<?php

function cmp($a, $b)

{

    return strcmp($a["fruit"], $b["fruit"]);

}

 

$fruits[0]["fruit"] = "lemons";

$fruits[1]["fruit"] = "apples";

$fruits[2]["fruit"] = "grapes";

 

usort($fruits, "cmp");

 

while (list($key, $value) = each($fruits)) {

    echo "\$fruits[$key]: " . $value["fruit"] . "\n";

}

?>

output:

 

$fruits[0]: apples

$fruits[1]: grapes

$fruits[2]: lemons

추천
0

댓글 0개

전체 5,397
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT