현재 위치: > 최신 기사 목록> PHP 다차원 배열 분류 기술 : 정렬 원리 및 실제 방법의 심층 분석

PHP 다차원 배열 분류 기술 : 정렬 원리 및 실제 방법의 심층 분석

M66 2025-07-23

PHP 다차원 배열 분류를위한 실용적인 팁

PHP 개발에서 다차원 배열의 정렬은 일반적인 요구 사항입니다. 합리적인 정렬 방법을 마스터하면 데이터 처리 효율성 및 코드 가독성이 효과적으로 향상 될 수 있습니다.

샘플 데이터 구조

학생의 이름과 성적이 포함 된 배열이 있다고 가정하십시오. 우리는 먼저 이름으로 오름차순으로 정렬 한 다음 등급별로 내림차순으로 정렬하고 싶습니다.

 $students = [
    ['name' => 'Alice', 'score' => 90],
    ['name' => 'Bob', 'score' => 85],
    ['name' => 'Charlie', 'score' => 95],
    ['name' => 'Dave', 'score' => 80],
];

사용자 정의 기능을 기반으로 구현을 정렬합니다

비교 함수를 정의함으로써 정렬 규칙을 정확하게 제어 할 수 있습니다. 다음 함수는 먼저 이름을 비교하고 동일한 이름이 결과를 비교합니다.

 function compare_students($a, $b) {
    if ($a['name'] == $b['name']) {
        return $b['score'] <=> $a['score']; // 결과 감소
    }
    return strcmp($a['name'], $b['name']); // 오름차순 이름
}

정렬을 완료하려면 USORT () 함수를 호출하십시오.

 usort($students, 'compare_students');

PHP 7.4 이상의 익명 기능 쓰기 방법

PHP 7.4는 코드를보다 간결하게 만들기 위해 익명 기능에 대한 단순화 된 쓰기를 소개합니다.

 uasort($students, function($a, $b) {
    if ($a['name'] == $b['name']) {
        return $b['score'] <=> $a['score'];
    }
    return strcmp($a['name'], $b['name']);
});

정렬 원리 분석

비교 함수는 두 개의 배열 요소를 매개 변수로 사용하고 정수를 반환하여 주문 관계를 나타냅니다. 여기서 먼저 strcmp ()를 사용하여 이름의 오름차순으로 정렬하십시오. 이름이 동일하다면 비교 연산자 <=>를 사용하여 등급의 내림차순으로 정렬하십시오.

응용 프로그램 효과 디스플레이

정렬이 완료된 후 출력 결과는 다음과 같습니다.

 print_r($students);

배열은 이름으로 알파벳순으로 배열되며 동일한 이름을 사용하면 점수가 높음에서 낮게 배열됩니다.

요약

PHP 다차원 배열 분류의 핵심 아이디어와 방법을 마스터하면 개발자가 복잡한 데이터 분류 문제를 유연하게 처리하는 데 도움이 될 수 있습니다. 사용자 정의 비교 함수와 PHP 내장 정렬 기능을 결합하여 코드는 간결하고 효율적입니다.