>백엔드 개발 >PHP 튜토리얼 >PHP에서 배열을 정렬하는 방법

PHP에서 배열을 정렬하는 방법

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌원래의
2025-03-03 09:16:09497검색

How to Sort Arrays in PHP 정렬 된 데이터 처리는 항상 특정 정보를 추출하기가 더 쉽습니다. 그렇지 않으면 배열의 각 요소를 하나씩 반복해야합니다.

예를 들어 다른 학생들의 성적을 배열이나 테이블에 저장한다고 가정 해 봅시다. 데이터가 얻은 성적에 의해 정렬되지 않으면 수업의 각 학생의 성적을 확인하여 누가 가장 높고 가장 낮은 점수를 얻는지를 결정해야합니다. 테이블이 성적으로 낮은 점에서 높은 점에서 정렬 된 경우, 첫 번째 학생의 성적을 간단히 확인하여 가장 낮은 점수를 알 수 있습니다.

이 기사는 다음 PHP 배열 분류 방법을 소개합니다.

값별로 배열을 정렬하십시오

정렬 연관 배열

    사용자 정의 함수를 사용하여 값별로 배열 요소를 정렬하십시오
  • 키 정렬 배열

  • 분류 php 다차원 배열

  • 사용자 정의 함수로 정렬

  • 다중 열 정렬

  • 정렬은 특정 데이터 세트에 액세스하거나 얻는 많은 작업에 매우 쉽고 효율적입니다. 이 튜토리얼에서는 내장 PHP 기능을 사용하여 다양한 유형의 배열을 정렬하는 방법을 배웁니다.
  • 값별로 배열을 정렬하십시오 PHP에서 요소 값별로 정렬하는 것은 매우 쉽습니다. 키 가치 협회를 유지하거나 버리는 것을 선택하거나 자신의 기능을 정의하여 요소를 정렬하는 방법을 결정할 수 있습니다. 이 튜토리얼 의이 섹션에서 수행하는 방법을 보여 드리겠습니다.

    여러 열이나 다차원 값을 기반으로 다차원 배열을 정렬 할 수있는 함수를 사용할 수 있습니다. 정렬에 사용하려는 키 값이 포함 된 배열 만 만들면됩니다. 그 후에는 정렬 깃발을 전달하십시오.

    다음 예제는 당신에게 명확한 이해를 제공해야합니다 :
  • 우리는 플레이어의 name , 점수 및 건강
  • 를 저장하는 다차원 배열을 가지고 있습니다. 우리는

    함수를 사용합니다. 이것은 최종 결과에 영향을 미칩니다. 우리가 통과하는 는 하강 순서로 정렬됩니다. 이것은 그녀가 가장 높은 점수를 받았기 때문에
  • amanda
  • 를 상단에 올려 놓을 것입니다. 이제 배열의 요소는 또한 Amanda의 건강이 의 맨 위에 있도록 재 배열됩니다.

    다시 말해 배열은 내림차순으로 배열됩니다. 그런 다음 다른 배열의 값은 해당 순서와 일치하도록 재 배열됩니다. 그러므로 순서는 amanda

    ,
  • andrew , adam
, monty

등이됩니다.

일단 배열을 통과하면. 당신은 adam 와 monty

가 같은 점수를 가지고 있음을 알 수 있습니다. 따라서 그들의 최종 위치는 건강에 의해 결정되며, 이는 오름차순으로 정렬되어야합니다. Monty의 건강은 adam

보다 낮으므로 array_multisort() Adam

보다 앞서있을 것입니다. 플레이어의 순서는 이제

amanda

,
$players = [
    [
        'name' => 'Adam',
        'score' => 70,
        'health' => 80
    ],
    [
        'name' => 'Joey',
        'score' => 60,
        'health' => 90
    ],
    [
        'name' => 'Monty',
        'score' => 70,
        'health' => 45
    ],
    [
        'name' => 'Andrew',
        'score' => 90,
        'health' => 80
    ],
    [
        'name' => 'Sally',
        'score' => 60,
        'health' => 85
    ],
    [
        'name' => 'Amanda',
        'score' => 98,
        'health' => 50
    ],
    [
        'name' => 'James',
        'score' => 50,
        'health' => 50
    ]
];

$p_score = array_column($players, 'score');
$p_health = array_column($players, 'health');

array_multisort($p_score, SORT_DESC, $p_health, SORT_ASC, $players);
andrew ,

monty , adam 등이됩니다. 다른 모든 값 충돌은 비슷한 방식으로 해결됩니다. 배열을 정렬 한 후 얻을 수있는 최종 결과는 다음과 같습니다.

는 지금 분명할지 모르지만 여전히

가 별도의 배열을 호출하고 있음을 지적하고 싶습니다. 예는 다음과 같습니다.
$players = [
    [
        'name' => 'Adam',
        'score' => 70,
        'health' => 80
    ],
    [
        'name' => 'Joey',
        'score' => 60,
        'health' => 90
    ],
    [
        'name' => 'Monty',
        'score' => 70,
        'health' => 45
    ],
    [
        'name' => 'Andrew',
        'score' => 90,
        'health' => 80
    ],
    [
        'name' => 'Sally',
        'score' => 60,
        'health' => 85
    ],
    [
        'name' => 'Amanda',
        'score' => 98,
        'health' => 50
    ],
    [
        'name' => 'James',
        'score' => 50,
        'health' => 50
    ]
];

$p_score = array_column($players, 'score');
$p_health = array_column($players, 'health');

array_multisort($p_score, SORT_DESC, $p_health, SORT_ASC, $players);
목적이 두 배열을 오름차순 순서로 정렬하려면이 두 배열에

를 별도로 사용하십시오. sort()

요약 이 튜토리얼에서는 Keys 또는 값으로 배열을 정렬하는 데 사용할 수있는 PHP에서 여러 가지 기능을 보여주었습니다. 또한 자체 사용자 정의 정렬 기준과 및 기능을 사용하여 키 또는 값으로 배열을 정렬하는 방법을 배웠습니다. 마지막 섹션에서는 특정 필드 만 사용하여 다차원 배열에서 모든 값을 정렬하는 방법에 대해 설명합니다.
print_r($players);
/*
Array
(
    [0] => Array
        (
            [name] => Amanda
            [score] => 98
            [health] => 50
        )

    [1] => Array
        (
            [name] => Andrew
            [score] => 90
            [health] => 80
        )

    [2] => Array
        (
            [name] => Monty
            [score] => 70
            [health] => 45
        )

    [3] => Array
        (
            [name] => Adam
            [score] => 70
            [health] => 80
        )

    [4] => Array
        (
            [name] => Sally
            [score] => 60
            [health] => 85
        )

    [5] => Array
        (
            [name] => Joey
            [score] => 60
            [health] => 90
        )

    [6] => Array
        (
            [name] => James
            [score] => 50
            [health] => 50
        )

)
*/
이 튜토리얼에서 새로운 것을 배웠기를 바랍니다. 질문이나 제안이 있으시면 의견에 알려주십시오. 학습하는 가장 좋은 방법은 이러한 기능을 사용하여 배열을 정렬하여 자신만의 예제를 만드는 것입니다.

sort() 이 기사는 업데이트되었으며 Monty Shokeen의 기여를 포함합니다. Monty는 튜토리얼을 작성하고 새로운 JavaScript 라이브러리를 배우는 것을 좋아하는 풀 스택 개발자입니다.

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

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