반응형
안녕하세요 토스트데브입니다.
배열을 정렬하는 함수는 값 기준인지, 키 기준인지, 오름차순인지, 내림차순인지에 따라 다양하게 나뉩니다.
이 글에서는 자주 사용하는 정렬 함수들을 정리하고 예제와 함께 사용 방법을 소개합니다.
🔢 숫자 인덱스 배열 정렬
✅ 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
반응형
'Programming > PHP' 카테고리의 다른 글
[PHP] #24 PHP 배열, PHP 배열 생성과 기본 조작 함수 완전 정복! (0) | 2025.08.13 |
---|---|
[PHP] #23 PHP 배열, “PHP 배열 정보 확인과 크기 측정 필수 함수 총정리! (0) | 2025.08.12 |
[PHP] #22 PHP 배열, 배열 정보와 크기 확인 함수 정리 – count, sizeof, print_r까지 (1) | 2025.08.11 |
[PHP] #21 PHP 문자열 함수, 문자열 암호화 및 해싱 password_hash부터 md5까지 (1) | 2025.08.10 |
[PHP] #20 PHP 문자열 함수, 문자열 정리 및 필터링 함수 총정리 trim부터 htmlspecialchars까지 (3) | 2025.08.09 |