PHP str_split() 함수란?
PHP는 각각 고유한 기능을 수행하는 다양한 내장 함수를 제공합니다. 그중 str_split()은 미리 정의된(predefined) 함수로, 주어진 문자열을 배열로 변환하는 데 사용됩니다.
이 함수는 지정된 길이만큼 문자열을 잘라 작은 문자열 조각으로 만든 뒤, 각 조각을 배열 요소로 저장하고 그 배열을 반환하는 방식으로 동작합니다. 즉, 하나의 문자열을 원하는 단위로 쪼개어 배열 형태로 다룰 수 있게 해주는 유용한 도구입니다.
매개변수
str_split() 함수는 두 개의 매개변수를 받으며, 각각의 의미는 다음과 같습니다.
string (필수)
배열로 변환하고자 하는 대상 문자열입니다. 이 값은 반드시 전달해야 합니다.
split_length (선택)
문자열을 나눌 각 배열 조각의 길이를 의미합니다. 기본값은 1이며, 별도로 지정하지 않으면 문자열이 한 글자씩 배열 요소로 분리됩니다.
사용 예제
<?php
$string = "TutorialsPoint";
print_r(str_split($string));
$string = "WelcomeTo Tutorials Point";
print_r(str_split($string, 4));
?>
실행 결과
Array
(
[0] => T
[1] => u
[2] => t
[3] => o
[4] => r
[5] => i
[6] => a
[7] => l
[8] => s
[9] => P
[10] => o
[11] => i
[12] => n
[13] => t
)
Array
(
[0] => Welc
[1] => omeT
[2] => o Tu
[3] => tori
[4] => als
[5] => Poin
[6] => t
)
결과 해설
첫 번째 호출에서는 분할 길이를 지정하지 않았습니다. 따라서 기본값인 1이 적용되어 문자열이 한 글자씩 개별 요소로 담긴 배열로 변환되었습니다.
두 번째 호출에서는 분할 길이로 4를 전달했습니다. 그 결과 문자열이 네 글자씩 끊어진 조각들로 구성된 배열로 변환되었으며, 마지막 조각은 남은 문자 수에 맞춰 "t"처럼 짧게 저장된 것을 확인할 수 있습니다.
알아두면 좋은 점
오류 처리: split_length 값이 1보다 작으면 PHP 8부터는 ValueError가 발생하며, PHP 7까지는 false를 반환합니다.
멀티바이트 문자열: str_split()은 바이트 단위로 문자열을 자르기 때문에 한글처럼 여러 바이트로 구성된 문자가 중간에 잘릴 수 있습니다. 한글 등 멀티바이트 문자열을 안전하게 분할하려면 mb_str_split() 함수를 사용하는 것이 좋습니다.