본문 바로가기

비개발자의 개발 일지

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

시리즈 보기
php

PHP explode() — 문자열을 배열로 자르기 완전 정리

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

 

 

Web Development · PHP

PHP explode() —
문자열을 배열로 자르기

구분자(콤마, 공백 등)로 한 문자열을 여러 조각으로
시작 오늘 분석할 코드

"월,화,수,목,금,토,일"이라는 한 문자열을 콤마로 잘라 7개 짜리 배열로 만든 후, 그 중 3번 인덱스(목)를 출력한다.

<?php $week = explode(",", "월,화,수,목,금,토,일"); print $week[3]; // "목" 출력 ?>
explode 결과 시각화
[0]
[1]
[2]
[3]
[4]
[5]
[6]
출력:

용어 핵심 키워드
explode($delim, $str)$str을 $delim으로 잘라 배열 반환
구분자 (delimiter)자르는 기준 — 콤마, 공백, |, 줄바꿈 등
반대 함수implode() — 배열을 다시 문자열로
0부터 시작배열 인덱스는 0, 1, 2 ...
limit 인자3번째 인자로 자를 횟수 제한
CSV 처리간단한 CSV는 explode로 충분

1 explode의 기본 사용법

explode는 두 인자를 받는다 — (1) 자르는 기준, (2) 자를 문자열. 결과는 배열.

$arr = explode(",", "a,b,c"); // ["a", "b", "c"] $arr = explode(" ", "hello world"); // ["hello", "world"] $arr = explode("-", "2024-04-30"); // ["2024", "04", "30"]

2 자주 쓰는 사례
  • 날짜 분리explode("-", "2024-04-30") → 연/월/일
  • 이메일 분리explode("@", $email) → 사용자/도메인
  • 경로 분리explode("/", $url) → 각 디렉토리
  • CSV 한 줄explode(",", $line) → 각 컬럼
  • 태그 분리explode(" ", "php mysql web")

3 인덱스로 특정 조각 꺼내기

본 코드의 $week[3]처럼 대괄호 + 숫자로 특정 조각을 꺼낸다. 주의 — 0부터 시작이므로 4번째 요소가 인덱스 3.

$parts = explode(",", "a,b,c,d,e"); print $parts[0]; // "a" print $parts[2]; // "c" print $parts[4]; // "e" print $parts[5]; // 경고: 인덱스 없음

 

반응형

 

4 list()와 함께 — 한 번에 여러 변수에

날짜를 자르면 3개의 변수에 한 번에 받기가 가능하다.

// 옛 방식 list($year, $month, $day) = explode("-", "2024-04-30"); // PHP 7.1+ 짧은 표기 [$year, $month, $day] = explode("-", "2024-04-30"); print $year; // 2024 print $month; // 04 print $day; // 30

5 limit 인자 — 자를 횟수 제한

3번째 인자로 최대 몇 조각까지 만들지 정할 수 있다.

$str = "a,b,c,d,e"; explode(",", $str); // ["a","b","c","d","e"] (5개) explode(",", $str, 2); // ["a", "b,c,d,e"] (2개 — 나머지는 합쳐짐) explode(",", $str, -1); // ["a","b","c","d"] (마지막 1개 제외)

6 implode() — 반대 동작

implode배열을 다시 한 문자열로 합친다. explode의 짝꿍.

$arr = ["월", "화", "수", "목"]; $str = implode(",", $arr); // "월,화,수,목" $str = implode(" - ", $arr); // "월 - 화 - 수 - 목"

7 자주 하는 실수
  • 인자 순서 헷갈림 → (구분자, 문자열)
  • 1부터 인덱스 시작이라 생각 → 0부터
  • 구분자가 없으면 → 원본 한 개짜리 배열 반환
  • 빈 문자열을 explode → [""] 배열 1개
  • 복잡한 CSV (따옴표 안 콤마) → str_getcsv() 사용

8 CSV 파일 처리는 다른 함수

실제 CSV 파일에는 따옴표 안의 콤마가 있을 수 있다 ("가나, 다라"). 이때 explode는 잘못 자른다.

// ❌ explode explode(",", '"가, 나",다,라'); // ['"가', ' 나"', '다', '라'] ← 잘못 잘림 // ✅ str_getcsv str_getcsv('"가, 나",다,라'); // ['가, 나', '다', '라'] ← 올바름

핵심 한 줄 요약

explode($delim, $str)문자열 → 배열
$arr[N]N번째 조각 (0부터)
limit 인자최대 자를 횟수 제한
[a,b,c] = explode한 번에 여러 변수에
implode($glue, $arr)반대 — 배열 → 문자열
CSV는 str_getcsv따옴표 처리

Tags

#PHP #explode #implode #문자열파싱 #구분자 #list #str_getcsv #배열변환 #백엔드 #CSS #HTML #웹개발 #티스토리
▼ 티스토리 태그 입력란 복사용
PHP, explode, implode, 문자열파싱, 구분자, list, str_getcsv, 배열변환, 백엔드, CSS, HTML, 웹개발, 티스토리
반응형

댓글