krsort는 키로 정렬 배열 (큰에서 작은 것까지 키)으로 반전하는 데 사용됩니다. 키 값 쌍 간의 상관 관계를 변경되지 않으며 키별로 정렬 해야하는 시나리오에 적합합니다.
$arr = ['a' => 3, 'b' => 1, 'c' => 2];
krsort($arr);
print_r($arr);
출력 결과는 다음과 같습니다.
Array
(
[c] => 2
[b] => 1
[a] => 3
)
Array_flip은 키와 배열 값을 바꾸는 데 사용됩니다. 원래 배열의 값은 새 배열의 키가되고 키는 값이됩니다. 이것은 값별로 정렬하거나 매핑 관계를 되돌려 야 할 때 유용합니다.
$arr = ['a' => 3, 'b' => 1, 'c' => 2];
$flipped = array_flip($arr);
print_r($flipped);
출력 결과 :
Array
(
[3] => a
[1] => b
[2] => c
)
배열 값에 따라 역 순서로 정렬해야하고 원래 배열의 키와 값의 매핑을 유지하려면 Array_flip 과 Krsort를 결합 할 수 있습니다.
array_flip을 사용하여 값을 키로 바꾸어 값별로 정렬을 용이하게합니다.
krsort를 사용하여 뒤집힌 배열을 역 차수 (즉, 원래 배열 값의 역 순서)로 정렬하십시오.
마지막으로 Array_flip을 다시 사용하여 키와 값을 복원하여 배열을 역 순서로 정렬합니다.
샘플 코드 :
<?php
// 원래 배열
$arr = ['apple' => 5, 'banana' => 3, 'orange' => 8, 'grape' => 2];
// 첫 번째 단계:배열을 뒤집습니다,값이 핵심이됩니다
$flipped = array_flip($arr);
// 2 단계:키에 의해(즉, 원래 배열의 값입니다)역 순서로 정렬하십시오
krsort($flipped);
// 3 단계:뒤집고 다시 복원하십시오,得到역 순서로 정렬하십시오后的数组
$sorted = array_flip($flipped);
print_r($sorted);
출력 결과 :
Array
(
[orange] => 8
[apple] => 5
[banana] => 3
[grape] => 2
)
Array_flip은 배열의 값이 고유하고 키 (일반적으로 문자열 또는 정수)로 사용할 수 있어야합니다. 그렇지 않으면 데이터 손실이 발생합니다.
이 방법은 값별로 정렬 된 시나리오에 적합하며 값은 고유하고 키로 적합합니다.
값이 고유하지 않으면 Array_flip을 사용하면 중복 키를 덮어 쓰면 정렬 결과가 부정확합니다.
Array_flip 및 Krsort를 결합하여 배열 값에 따라 역 순서 정렬을 쉽게 구현하고 원래 배열의 키 값 서신을 유지할 수 있습니다. 이 방법은 간단하고 효율적이며 고유 한 값을 가진 시나리오에 적합하며 PHP 배열을 정렬하기위한 실용적인 기술 중 하나입니다.
더 많은 PHP 팁을 보려면 <code> https://gitbox.net/php-tutorials </code>를 방문하십시오.