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
반응형