반응형
Web Development · PHP rsort
PHP rsort —
배열을 큰 값 → 작은 값 순서로 정렬
[18,7,20,5] → [20,18,7,5] (내림차순)
시작 오늘 분석할 코드
sort의 정반대 방향. 큰 값부터 정렬한다. 이름의 r은 reverse(반대) 의미.
<?php $numbers = array(18, 7, 20, 5); rsort($numbers); // 내림차순 정렬 (원본 메모는 "오름차순"이라 잘못 적혀 있음) print "<PRE>"; print_r($numbers); print "</PRE>"; ?>
실제 출력 결과
Array ( [0] => 20 [1] => 18 [2] => 7 [3] => 5 )
※ 원본 메모의 "오름차순"은 오타다.
rsort는 내림차순(큰 값부터). 헷갈리면 sort가 작은 것 위주, rsort는 큰 것 위주로 기억.용어 용어 정리
rsort()배열을 내림차순으로 정렬 (값 기준)
r = reverse"sort의 반대 방향" 의미
내림차순큰 값 → 작은 값 (descending)
in-place원본을 직접 수정
키 재배열정렬 후 0,1,2,… 새로 매김
vs arsortarsort는 키를 보존하면서 내림차순
반환값true (성공) — 받지 않는 게 일반
실무 예최고 점수, 최신 날짜 위로 정렬
1 언제 내림차순이 필요한가?
예시 시나리오
· 게시판: 최신 글이 위로 (날짜 내림차순)
· 랭킹: 점수 높은 순 (점수 내림차순)
· 인기순: 조회수 많은 순
· 가격 비교: 비싼 순부터
· 게시판: 최신 글이 위로 (날짜 내림차순)
· 랭킹: 점수 높은 순 (점수 내림차순)
· 인기순: 조회수 많은 순
· 가격 비교: 비싼 순부터
2 sort vs rsort 한눈에
sort (오름)
[18, 7, 20, 5] → [5, 7, 18, 20]
가장 작은 값이 [0]번에
가장 작은 값이 [0]번에
rsort (내림)
[18, 7, 20, 5] → [20, 18, 7, 5]
가장 큰 값이 [0]번에
가장 큰 값이 [0]번에
3 동작 방식 — sort 후 뒤집기와 같음
// rsort($arr)는 사실상 sort($arr); $arr = array_reverse($arr); // 와 같은 결과
물론 PHP는 내부적으로 한 번에 처리하므로 더 효율적이다.
반응형
4 키도 0,1,2…로 새로 매겨진다
$arr = [0=>18, 1=>7, 2=>20, 3=>5]; rsort($arr); // → [0=>20, 1=>18, 2=>7, 3=>5] ← 키 재배열
※ 원래의 키-값 짝을 유지하고 싶으면
arsort를 써야 한다 (다음 글 참고).5 두 번째 매개변수 — 정렬 플래그
rsort($arr, SORT_NUMERIC); // 수치형 강제 rsort($arr, SORT_STRING); // 문자열 비교 rsort($arr, SORT_NATURAL); // "img10" > "img2" 식 자연 정렬
6 자주 하는 실수
| 실수 | 증상 | 해결 |
|---|---|---|
$arr = rsort($arr); |
$arr가 true(=1)로 덮임 | rsort($arr); 한 줄 |
| 연관 배열에 rsort | 키가 사라짐 | arsort 사용 |
| "10","9" 정렬 | "9" 먼저 (사전식) | SORT_NUMERIC 추가 |
| 한국어 가나다순 기대 | 예측 불가 (UTF-8 ASCII) | collator_sort (Intl) |
핵심 한 줄 요약
rsort()배열을 내림차순(큰 → 작은)으로 정렬
r = reversesort의 반대 방향
in-place원본 직접 수정 — 반환값 받지 말 것
키 재배열0,1,2,… 새로 부여
실무최신글·랭킹·인기순
키 보존하려면arsort 사용
플래그SORT_NUMERIC, SORT_NATURAL 등
반응형
'php' 카테고리의 다른 글
| PHP arsort — 값으로 내림차순 + 키 보존 정렬 완전 정리 (0) | 2026.06.14 |
|---|---|
| PHP asort — 값으로 오름차순 + 키 보존 정렬 완전 정리 (0) | 2026.06.14 |
| PHP sort — 배열 오름차순 정렬 완전 정리 (0) | 2026.06.14 |
| PHP nl2br — 줄바꿈을 <br>태그로 완전 정리 (0) | 2026.06.14 |
| PHP implode — 배열을 구분자로 합쳐 문자열로 변환 완전 정리 (0) | 2026.06.14 |
왕진 블로그

댓글