Programming/PHP
[PHP] #28 PHP 배열, PHP 배열 병합, 중복 제거, 슬라이싱
TOASTDEV
2025. 8. 19. 16:00
반응형
안녕하세요 토스트 데브입니다.
배열을 다루다 보면 여러 배열을 합치거나, 중복된 값을 제거하거나, 배열의 일부분만 잘라내는 작업이 필요할 때가 많습니다.
이번 글에서는 array_merge(), array_unique(), array_slice()를 중심으로 배열 조작을 정리해봅니다.
🔗 배열 병합
✅ array_merge() – 배열을 합쳐 새로운 배열 생성
$a = [1, 2];
$b = [3, 4];
$result = array_merge($a, $b);
print_r($result);
// 출력: [1, 2, 3, 4]
연관 배열인 경우 키가 중복되면 덮어쓰기가 발생합니다.
$a = ['name' => 'Tom', 'age' => 25];
$b = ['age' => 30, 'job' => 'Dev'];
print_r(array_merge($a, $b));
// 출력: ['name' => 'Tom', 'age' => 30, 'job' => 'Dev']
✅ + 연산자 – 키가 중복될 경우 기존 값 유지
$a = ['a' => 1, 'b' => 2];
$b = ['b' => 3, 'c' => 4];
$result = $a + $b;
print_r($result);
// 출력: ['a' => 1, 'b' => 2, 'c' => 4]
📌 array_merge()는 값을 덮고, +는 기존 키를 유지합니다.
🚫 중복 제거
✅ array_unique() – 배열의 중복된 값을 제거
$data = [1, 2, 2, 3, 3, 3];
$result = array_unique($data);
print_r($result);
// 출력: [0 => 1, 1 => 2, 3 => 3]
결과 배열의 키는 유지됨. 인덱스를 다시 매기려면 array_values() 사용
$result = array_values(array_unique($data));
✂️ 배열 슬라이싱
✅ array_slice() – 배열의 일부분만 추출
$nums = [10, 20, 30, 40, 50];
$sliced = array_slice($nums, 1, 3);
print_r($sliced);
// 출력: [20, 30, 40]
- 두 번째 인자: 시작 인덱스 (0부터 시작)
- 세 번째 인자: 길이
- 음수 인덱스를 줄 수도 있음
📌 인덱스를 유지하려면 네 번째 인자에 true 추가
array_slice($nums, 1, 3, true);
💡 실전 팁
- 배열 병합 시 연관 배열이라면 + 연산자가 기존 데이터를 보존하기에 유리
- 중복 제거 후 순차적 인덱스가 필요하다면 꼭 array_values() 사용
- 슬라이싱은 페이징 처리, 미리보기 데이터에 자주 사용됨
✅ 마무리
이번 글에서는 배열을 병합, 중복 제거, 슬라이싱하는 방법을 정리해봤습니다.
이러한 배열 조작 함수들은 데이터를 정리하거나 UI에 출력할 때 필수적으로 사용됩니다.
#PHP, #배열, #배열병합, #중복제거, #배열슬라이싱, #array_merge, #array_unique, #array_slice, #PHP기초, #웹개발
반응형