str_getcsv() 함수는 CSV 형식의 문자열을 구문 분석(parse)하여 배열로 변환할 때 사용하는 PHP 내장 함수입니다. 실행 결과로 CSV의 각 필드가 요소로 담긴 배열을 반환합니다.
문법(Syntax)
str_getcsv(str, delimiter, enclosure, escape)
매개변수(Parameters)
str − 구문 분석할 대상이 되는 입력 문자열입니다.
delimiter − 필드를 구분할 구분자(delimiter)를 지정합니다. 기본값은 쉼표(
,)입니다.enclosure − 필드를 감싸는 묶음(enclosure) 문자를 지정합니다. 기본값은 큰따옴표(
")입니다.escape − 이스케이프 처리에 사용할 문자를 지정합니다. 기본값은 백슬래시(
\)입니다.
이 함수는 PHP 5.3.0부터 사용할 수 있으며, delimiter, enclosure, escape 매개변수는 모두 선택 사항이므로 필요한 경우에만 지정하면 됩니다.
반환 값(Return)
str_getcsv() 함수는 구문 분석된 CSV 필드들을 요소로 갖는 배열(array)을 반환합니다.
사용 예제
다음은 array_map()과 함께 사용하여 CSV 파일 전체를 한 번에 2차원 배열로 변환하는 예제입니다.
<?php
$res = array_map('str_getcsv', file('new.csv'));
?>
위 코드에서 file() 함수가 'new.csv' 파일의 각 줄을 배열 요소로 읽어오면, array_map()이 각 줄마다 str_getcsv()를 적용해 모든 행을 배열로 변환합니다.
출력 결과
'new.csv' 파일의 내용이 화면에 표시됩니다.
demo text
이처럼 str_getcsv() 함수를 활용하면 별도의 라이브러리 없이도 CSV 데이터를 손쉽게 배열 형태로 다룰 수 있어, 데이터 가져오기(import) 기능을 구현할 때 유용하게 사용됩니다.