현재 위치: > 최신 기사 목록> PHP krsort 정렬 다차원 배열과 결합되었습니다

PHP krsort 정렬 다차원 배열과 결합되었습니다

gitbox 2025-05-28

krsort () 란 무엇입니까?

krsort ()는 키 이름별로 배열을 역 순서로 정렬하기위한 PHP의 내장 기능입니다. 키 이름의 알파벳 또는 숫자 순서에 따라 배열을 큰에서 작은 것까지 정렬하고 키 이름과 키 값 사이의 연관성을 유지합니다.

문법:

 bool krsort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
  • $ 배열 : 정렬해야하며 통과 할 때 참조 해야하는 배열입니다.

  • $ SORT_FLAGS : 정렬 동작을위한 플래그 (선택 사항). 일반적으로 사용되는 것은 sort_regular , sort_numeric , sort_string 등을 포함합니다.


다차원 배열을위한 krsort ()의 특징

krsort ()가 다차원 배열을 사용하는 경우 첫 번째 레이어 키 이름을 역 순서로 만 정렬하면 내부 하위 배열의 순서가 영향을받지 않습니다. 서브 어레이를 역순으로 정렬하려면 재귀 적 방법을 결합하여이를 달성해야합니다.


실제 예 : 다차원 배열에 krsort ()를 사용하십시오

다음 예제는 krsort ()를 사용하여 다차원 배열의 첫 번째 레이어 키 이름을 역 순서로 정렬하는 방법을 보여줍니다.

 <?php
// 다차원 배열을 정의하십시오
$multiArray = [
    "b" => ["name" => "장 산", "age" => 25],
    "a" => ["name" => "Li Si", "age" => 30],
    "c" => ["name" => "왕 우", "age" => 22],
];

// 사용krsort첫 번째 레이어 키를 역 순서로 정렬합니다
krsort($multiArray);

// 출력 정렬 배열
echo "<pre>";
print_r($multiArray);
echo "</pre>";
?>

출력 결과 :

 Array
(
    [c] => Array
        (
            [name] => 왕 우
            [age] => 22
        )

    [b] => Array
        (
            [name] => 장 산
            [age] => 25
        )

    [a] => Array
        (
            [name] => Li Si
            [age] => 30
        )
)

출력에서 배열의 주요 이름이 알파벳 순서 C> B> a의 역 순서로 성공적으로 배열되어 있음을 알 수 있습니다.


Advanced : 재귀 적으로 Krsort를 사용하여 서브 어레이를 역 순서로 정렬합니다.

다차원 배열이 복잡한 구조가 있고 서브 어레이를 역 순서로 정렬 해야하는 경우 재귀 함수를 사용할 수 있습니다.

 <?php
function recursiveKrsort(&$array) {
    if (!is_array($array)) {
        return;
    }
    krsort($array);
    foreach ($array as &$value) {
        if (is_array($value)) {
            recursiveKrsort($value);
        }
    }
}

// 다차원 배열 예
$multiArray = [
    "b" => [
        "z" => 1,
        "a" => 2
    ],
    "a" => [
        "c" => 3,
        "b" => 4
    ],
];

// 재귀 역 정렬
recursiveKrsort($multiArray);

echo "<pre>";
print_r($multiArray);
echo "</pre>";
?>

결과:

 Array
(
    [b] => Array
        (
            [z] => 1
            [a] => 2
        )

    [a] => Array
        (
            [c] => 3
            [b] => 4
        )
)

첫 번째 레이어와 서브 어레이의 주요 이름은 역 순서로 정렬됩니다.


요약

  • krsort ()는 키 이름에 따라 역 순서로 정렬하는 데 적합하며 기본적으로 첫 번째 레이어에만 유효합니다.

  • 다차원 배열을 깊이 정렬 할 때는 재귀와 함께 krsort ()를 호출하는 것이 좋습니다.

  • krsort ()를 사용하여 이해하고 유연하게 유연하게 사용하면 복잡한 배열을 다룰 때 노력의 절반으로 결과를 두 배로 늘릴 수 있습니다.

이 기사의 예를 통해 Krsort ()를 사용하여 PHP 다차원 배열을 역 순서로 정렬하는 방법을 마스터했다고 생각합니다. 실제로 적용 할 수 있습니다.