반응형
안녕하세요, 토스트데브입니다!
이번 글에서는 PHP 문자열(String)을 다룰 때 유용하게 사용할 수 있는 내장 함수들 중 ‘문자열 정보 확인’과 관련된 함수들을 정리해보겠습니다.
✅ 1. strlen() – 문자열 길이 확인
$str = "hello";
echo strlen($str); // 출력: 5
- 영문은 문자 수 그대로 반환
- 한글은 UTF-8 환경에서 문자 1개 = 바이트 3개로 계산되므로 주의!
- 예: "안녕" → strlen("안녕")의 결과는 6이 될 수 있음 (UTF-8 기준)
✅한글도 글자 수로 정확히 세고 싶다면? → mb_strlen() 사용!
✅ 2. mb_strlen() – 멀티바이트 문자열 길이 확인
$str = "안녕하세요";
echo mb_strlen($str); // 출력: 5
- 한글, 일본어, 중국어 등 멀티바이트 문자도 정확한 글자 수로 반환
- mbstring 확장 모듈 필요 (대부분의 PHP 환경에서 기본 포함)
✅ 3. strpos() – 문자열 내 특정 문자의 위치 찾기
$email = "toast@example.com";
$pos = strpos($email, "@");
echo $pos; // 출력: 5
- strpos()는 찾는 문자열이 처음 등장하는 위치(인덱스)를 반환
- 없다면 false 반환 (주의: 0도 false처럼 보일 수 있으니 === 비교 필수)
if (strpos($email, "@") === false) {
echo "이메일 형식이 아닙니다.";
}
✅ 4. str_contains() – 특정 문자열 포함 여부 확인 (PHP 8+)
$str = "toastdev is awesome";
if (str_contains($str, "awesome")) {
echo "포함되어 있음!";
}
- PHP 8.0부터 지원되는 함수로 가독성 좋고 안전함
- PHP 7 이하에선 strpos()로 대체 가능
✅ 5. substr_count() – 특정 문자열이 몇 번 등장하는지 세기
$str = "php is fun. php is easy.";
echo substr_count($str, "php"); // 출력: 2
- 대소문자 구분함
- 특정 단어나 기호의 빈도 확인에 유용
✅ 보너스: 기타 문자열 정보 확인 함수
함수 | 설명 |
ctype_alpha() | 영문자만 포함되었는지 확인 |
ctype_digit() | 숫자만 포함되었는지 확인 |
is_string() | 해당 변수가 문자열인지 확인 |
str_ends_with() | 특정 문자열로 끝나는지 확인 (PHP 8+) |
str_starts_with() | 특정 문자열로 시작하는지 확인 (PHP 8+) |
✨ 마무리 정리
목적 | 함수 |
문자열 길이 확인 | strlen(), mb_strlen() |
특정 문자 포함 여부 | strpos(), str_contains() |
등장 횟수 확인 | substr_count() |
문자열 타입 체크 | is_string() |
시작/끝 일치 확인 | str_starts_with(), str_ends_with() |
PHP 문자열 함수는 정말 강력하고 다양합니다.
특히 다국어 웹사이트를 만들거나, 사용자 입력값 검증 시 자주 쓰이니
반드시 숙지해두면 좋습니다!
#PHP문자열 #strlen #mb_strlen #strpos #str_contains #PHP기초 #프로그래밍기초 #문자열함수 #코딩입문 #toastdev #PHP개발 #PHP함수 #웹개발
반응형
'Programming > PHP' 카테고리의 다른 글
[PHP] #15 PHP로 JSON 응답처리, 파싱부터 API 응답까지 완벽 정리! (3) | 2025.07.26 |
---|---|
[PHP] #14 PHP로 XML 응답 처리 하는 방법, 외부 데이터 읽기 및 파싱 가이드! (0) | 2025.07.25 |
[PHP] #13 PHP 세션(Session)과 쿠키(Cookie) 완벽 이해하기 (2) | 2025.07.24 |
[PHP] #12 PHP 폼 데이터 입력 검증 및 보안, 안전한 웹 개발의 시작 (0) | 2025.07.23 |
[PHP] #11 PHP 폼 데이터 처리, GET과 POST 처리 방식까지 완벽정리! (4) | 2025.07.22 |