본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP array_reverse — 배열 순서 뒤집기 완전 정리

by 왕진 2026. 6. 15.
반응형

 

 

Web Development · PHP array_reverse

PHP array_reverse —
배열 원소 순서를 거꾸로

[A,B,C,D,E] → [E,D,C,B,A]
시작 오늘 분석할 코드
<?php $data = array("A", "B", "C", "D", "E"); $result = array_reverse($data); // 배열 순서를 뒤집은 새 배열 반환 print "<PRE>"; print_r($result); print "</PRE>"; ?>
Array ( [0] => E [1] => D [2] => C [3] => B [4] => A )

마지막 원소가 0번 자리, 처음 원소가 마지막 자리로 — 거울처럼 뒤집힌다. 정렬과 다르다 (값을 비교하지 않음).

용어 용어 정리
array_reverse()배열을 거꾸로 뒤집어 새 배열 반환
정렬과 다름값 비교 없음 — 단순 자리 뒤집기
반환값새 배열 (원본은 그대로)
두 번째 매개변수true면 키 보존
vs rsortrsort는 값 기준 정렬, reverse는 자리 뒤집기
불변원본 $data는 변하지 않음
활용최신순 → 오래된순, 이미지 갤러리
시간 복잡도O(n) — 한 번만 훑음

1 reverse vs rsort — 헷갈리지 말기
$a = [3, 1, 2]; array_reverse($a); // [2, 1, 3] ← 자리만 거꾸로 rsort($a); // [3, 2, 1] ← 값 기준 내림차순

이름이 비슷하지만 동작은 완전 다르다. reverse는 비교를 안 한다.


2 두 번째 매개변수 — 키 보존
$a = ["a"=>1, "b"=>2, "c"=>3]; array_reverse($a); // ["c"=>3, "b"=>2, "a"=>1] 문자열 키 자동 보존 array_reverse($a, true); // ["c"=>3, "b"=>2, "a"=>1] 숫자 키도 보존 // 숫자 인덱스 배열에 차이 $b = [10, 20, 30]; array_reverse($b); // [0=>30, 1=>20, 2=>10] ← 새 인덱스 array_reverse($b, true); // [2=>30, 1=>20, 0=>10] ← 원래 키 유지

3 활용 — 최신순 출력
$posts = [...DB에서 ID 순서대로 가져온 글들]; $latest = array_reverse($posts); // 최신 글이 위로 (DB가 ASC면)

물론 더 효율적인 방법은 SQL의 ORDER BY id DESC. PHP 측 reverse는 비용이 든다.


 

반응형

 

4 자주 하는 실수
실수 해결
array_reverse($a); 그대로 (반환값 안 받음) 변수에 받기 — 원본은 안 바뀜
숫자 키 유지 기대 두 번째 매개변수 true
문자열을 reverse하려 함 strrev($s) 사용

핵심 한 줄 요약

array_reverse()배열 자리를 거울처럼 뒤집은 새 배열
정렬과 다름값 비교 없이 자리만 뒤집기
반환값새 배열 — 원본 보존
키 보존 옵션두 번째 매개변수 true
vs rsortrsort는 값 기준 정렬
활용최신순 출력, 갤러리 역순
문자열은strrev() 사용
반응형

댓글