Programming/PHP

[PHP] #25 PHP 배열, PHP 배열 정렬 함수 정리

TOASTDEV 2025. 8. 14. 16:00
반응형

 

 

안녕하세요 토스트데브입니다.

배열을 정렬하는 함수는 값 기준인지, 키 기준인지, 오름차순인지, 내림차순인지에 따라 다양하게 나뉩니다.
이 글에서는 자주 사용하는 정렬 함수들을 정리하고 예제와 함께 사용 방법을 소개합니다.

 

 

🔢 숫자 인덱스 배열 정렬

✅ sort() – 값 기준 오름차순 정렬

$nums = [3, 1, 4, 2];
sort($nums);
print_r($nums);
// 출력: [1, 2, 3, 4]

주의: 인덱스는 유지되지 않고 재정렬됨

 

✅ rsort() – 값 기준 내림차순 정렬

$nums = [3, 1, 4, 2];
rsort($nums);
print_r($nums);
// 출력: [4, 3, 2, 1]

 

 

🔠 연관 배열 정렬 (값 기준)

✅ asort() – 값 기준 오름차순 (키는 유지)

$age = ["Tom" => 35, "Jane" => 28, "Alice" => 40];
asort($age);
print_r($age);
// 출력: [Jane => 28, Tom => 35, Alice => 40]

 

✅ arsort() – 값 기준 내림차순 (키 유지)

$age = ["Tom" => 35, "Jane" => 28, "Alice" => 40];
arsort($age);
print_r($age);
// 출력: [Alice => 40, Tom => 35, Jane => 28]

 

 

🗝️ 연관 배열 정렬 (키 기준)

✅ ksort() – 키 기준 오름차순

$data = ["b" => 2, "a" => 1, "c" => 3];
ksort($data);
print_r($data);
// 출력: [a => 1, b => 2, c => 3]

 

✅ krsort() – 키 기준 내림차순

$data = ["b" => 2, "a" => 1, "c" => 3];
krsort($data);
print_r($data);
// 출력: [c => 3, b => 2, a => 1]

 

 

🔍 사용자 정의 정렬

✅ usort() – 사용자 정의 함수로 정렬

$nums = [3, 1, 4, 2];
usort($nums, function($a, $b) {
    return $b - $a;  // 내림차순 정렬
});
print_r($nums);
// 출력: [4, 3, 2, 1]
복잡한 로직이 필요한 정렬에 사용됩니다.

 

 

💡 실전 팁

  • 정렬 후 인덱스가 유지되는지 여부를 꼭 확인하세요.
    sort()나 rsort()는 인덱스를 재배열하지만, asort()나 arsort()는 키를 유지합니다.
  • 연관 배열에서 데이터를 정렬한 뒤에도 원래 키 정보가 중요하다면 asort(), ksort() 등을 사용하세요.

 

 

#PHP, #배열, #정렬, #asort, #ksort, #배열정렬, #웹개발, #PHP기초, #연관배열, #usort

반응형