모두의매뉴얼
🚀

[PHP] 문자열을 분해해서 배열로 담는 방법 feat. str_split

📈5


PHP 를 이용해 이것저것 해보다가 문자열을 하나하나 분해해서 배열로 담을 필요성이 생겼습니다.

문제 발생

생각없이 이렇게 하면 되겠지~ 하면서 explode 함수를 아래와 같이 써봤는데,

$str = 'thisissparta';
$arrStr = explode('', $str);

반환 되는 값이 아무것도 없었습니다. 절망..

그래서 php.net 에서 explode 문서를 보니까,


If separator is an empty string (“”), explode() throws a ValueError.

너무도 친절하게 구분자로 아무 것도 안 넣으면, 에러가 나온다고 하네요.

그래서 찾다가 나온게 바로 str_split 함수였습니다.

str_split

stringsplit 해준다는 직관적인 함수명을 가진 str_split 의 사용법은 아주 간단합니다.

$str = 'thisissparta';
$arrStr = str_split($str);

이렇게 되면 $arrStr 에는 각 글자가 모두 쪼개져서 아래와 같이 담기게 됩니다.

Array
(
    [0] => t
    [1] => h
    [2] => i
    [3] => s
    [4] => i
    [5] => s
    [6] => s
    [7] => p
    [8] => a
    [9] => r
    [10] => t
    [11] => a
)

아주 쉽죠?

주의사항

다만 아래의 사항은 유의해야겠습니다.

  1. 문자열에 this is sparta 처럼 중간에 빈 칸이 있을 경우, 당연하게도 배열에 값이 빈칸인 항목이 추가됩니다.
  2. 문자열이 한글일 경우 제대로 쪼개지지 않고, 결과물에는 빈칸이 들어갑니다. 그것도 여러개.. 그러니 한글 문자열을 쪼개고 싶다면, mb_str_split 함수를 사용하도록 합시다. 물론 사용법은 똑같습니다.

끝.

    댓글 남기기

© 모두의매뉴얼 2024
🗝️