반응형
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, 웹개발, 티스토리
반응형
'php' 카테고리의 다른 글
| 시즌2 6편 — AI가 '배포해도 된다'고 했다, 그리고 스스로 말을 뒤집었다 (0) | 2026.06.26 |
|---|---|
| 4편 — '엑셀 보고서'를 없앤 날: 역할별 대시보드 (0) | 2026.06.26 |
| PHP 배열 합집합 — + 연산자, 좌측 우선 완전 정리 (0) | 2026.06.26 |
| PHP 연관 배열 — 여러 키-값 완전 정리 (0) | 2026.06.26 |
| PHP 연관 배열 — 키 한 개 시작 완전 정리 (0) | 2026.06.26 |
왕진 블로그

댓글