PHP에도 문자열을 읽어내는 함수가 존재한다.
이름이 쓸데없이 축약형이라서 그런지
쓰려고 할때마다 자꾸 이름을 잊어버려서
그냥 글로 쓰기로 했다.
strlen함수는 굉장히 간단하다.
echo strlen("Bino");
이렇게 strlen의 매개변수에 문자열 값만 넣어주면 되니까.
Bino라는 값을 넣었으니
4
라는 결과값이 나온다.
하지만 굉장히 까다로운 함정이 있다.
한글을 쓰려고 할 경우, 값이 엉뚱하게 나와버린다.
echo strlen("훈민정음");
위처럼 한글을 넣게되면, 글자는 4개지만 값은 아예 다르게
12
라는 값이 나오는데,
이는 strlen()함수가 단순히 글자의 개수(길이)가 아닌 Byte값을 가져오기 때문이다.
이런 문제는
echo mb_strlen("훈민정음" 'utf-8');
처럼 UTF-8 유니코드값으로 글자를 받으면
어떤 글자가 와도 해결할 수 있다.