stripos()
함수 사용법
stripos()
함수는
문자열에서 특정 문자열의 위치를 찾는 함수입니다.
대상 문자열에서 주어진 문자열이 처음 나타나는 위치(인덱스)를 반환합니다. 주어진 문자열이 포함되어 있지 않으면 false
를 반환합니다.
대소문자를 구분하지 않습니다.
유용한 팁
stripos()
함수는 대소문자를 구분하지 않고 문자열에 특정 문자가 포함되어 있는지를 확인하는데 매우 유용합니다.
- 한글과 같은 multi-byte 문자열에서는
mb_stripos()
함수를 사용하세요. - 만약 대소문자를 구분해서 문자열에서 특정 문자열의 위치를 찾고자 한다면
strpos()
함수를 사용하세요.
stripos()
함수의 형식은 다음과 같습니다.
구문
매개변수
$haystack |
검색 대상이 되는 문자열입니다. |
---|---|
$needle |
검색할 문자열입니다.
대소문자를 구분하지 않습니다. |
$offset |
옵션. 검색을 시작할 0 기반의 인덱스입니다.
|
반환 값
대상 문자열에서 주어진 문자열($needle
)이 처음 나타나는 위치(인덱스)를 반환합니다.
문자열 위치는 1
이 아닌 0
부터 시작한다는 점에 유의하세요.
- 주어진 문자열(
$needle
)이 포함되어 있지 않으면false
를 반환합니다. - 주어진 문자열(
$needle
)이 빈 문자열(''
)일 경우false
를 반환합니다.
주의하세요!
stripos()
함수와 달리 strpos()
함수는 PHP 8 이전의 버전에서 주어진 문자열($needle
)이 빈 문자열(''
)일 경우 Warning 에러가 발생합니다.
주의할 점
문자열에서 인덱스는 0부터 시작합니다.
첫 번째 문자열의 인덱스는 0이고, 두 번째 문자열의 인덱스는 1입니다.
이 함수를 Boolean
타입으로 반환 값을 사용할 때에는 주의가 필요합니다.
이 함수의 반환 값을 테스트하려면 ===
연산자를 사용하세요 .
stripos()
함수는 반환 값으로 대상 문자열에서 주어진 문자열이 처음 나타나는 위치(인덱스)를 반환합니다. 문자열 위치는 1
이 아닌 0
부터 시작한다는 점에 유의해야 합니다.
대상 문자열에서 주어진 문자열의 위치가 첫 번째에 위치하고 있다고 가정해 보겠습니다.
이 경우 반환 값은 0
이 됩니다.
0
은 ==
연산자로 변환하면 false
를 반환하게 됩니다.
실제 주어진 문자열이 존재하지만 false
를 반환하기 때문에 부울(boolean) 타입으로 반환 값을 테스트하려면 엄격한 타입 비교가 수행되어 하기 때문에 ===
연산자를 사용해야 합니다.
예제
stripos()
함수는 문자열에서 부분 문자열의 위치를 찾을 때 유용하게 사용될 수 있습니다. 이 함수의 주된 특징은 대소문자를 구분하지 않는다는 것이며, 이로 인해 대소문자에 민감하지 않게 문자열을 검색할 수 있습니다.
사용자 입력 검색
대소문자 무시한 문자열 검사
문자열이 특정 단어로 시작하는지 확인
참고문헌
같이 보기
- PHP strpos() 함수 – 대소문자 구분해서 문자열에 특정 문자 포함 여부 확인
- PHP mb_strpos() 함수 - strpos()의 한글 지원 기능 제공
- PHP str_contains() 함수 – 대소문자 구분해서 문자열에 특정 문자 포함 여부 확인
- PHP substr() 함수 - 문자열을 잘라서 추출하기
- PHP mb_substr() 함수 – substr()의 한글 깨짐을 해결하기
- PHP mb_stripos() 함수 – stripos()의 한글 지원 기능 제공
- PHP str_replace() 함수 – 문자열에서 특정 문자열을 다른 문자열로 바꾸는 함수
- PHP str_starts_with() 함수 – 특정 문자열로 시작하는지 체크
- PHP str_ends_with() 함수 – 특정 문자열로 끝나는지 체크