본문 바로가기
제가 왜 백엔드 개발을 하고 있을까요?/PHP

[PHP] 문자열에서 부분 문자열 위치 찾기 - strpos 함수

by asj8000 2023. 6. 15.
반응형

※ PHP 4 이상에서 지원하는 함수입니다.
'strpos' 함수는 문자열 내에서 다른 문자열의 첫 번째 발생 위치를 찾는 함수입니다.

 

함수의 구조

기본적인 구조는 아래와 같습니다:

strpos( $haystack, $needle, $offset );
strpos('Hello, World!', 'World');

 

입력값

haystack : 탐색할 원래의 문자열입니다. (필수 값)
needle : 찾고자 하는 부분 문자열입니다. (필수 값)
offset : 탐색을 시작할 위치입니다. (선택 값, 기본값은 0)

 

응용하기


'Hello, World!' 문자열에서 'World'의 위치 찾기

echo strpos('Hello, World!', 'World');

입력값 : 'Hello, World!'
결과값 : 7

 



첫 번째 문자 'H'의 위치 찾기

echo strpos('Hello, World!', 'H');

입력값 : 'Hello, World!'
결과값 : 0

 

 

문자열에서 공백의 첫 위치 찾기

echo strpos('Hello, World!', ' ');

입력값 : 'Hello, World!'
결과값 : 5

 


'Hello, World!' 문자열에서 offset을 지정하여 'o'의 위치 찾기

echo strpos('Hello, World!', 'o', 5);

입력값 : 'Hello, World!'
결과값 : 7

 

 

대소문자 구분 없이 문자열에서 'WORLD'의 위치 찾기

echo stripos('Hello, World!', 'WORLD');
입력값 : 'Hello, World!'
결과값 : 7

 

 

문자열에서 존재하지 않는 부분 문자열 'universe'의 위치 찾기

echo strpos('Hello, World!', 'universe');

입력값 : 'Hello, World!'
결과값 : FALSE

 

반환값

'strpos' 함수는 'haystack' 문자열 내에서 'needle' 문자열이 처음으로 나타나는 위치를 반환합니다. 문자열의 시작 위치는 0으로 간주됩니다. 만약 'needle' 문자열이 'haystack' 문자열 내에 없으면 함수는 FALSE를 반환합니다.

 

실제 사용 사례

'strpos' 함수는 특정 문자열이 포함되어 있는지 검사하는 경우에 유용하게 사용될 수 있습니다.

예를 들어, 이메일 주소에 '@' 문자가 포함되어 있는지 확인할 때 'strpos' 함수를 사용할 수 있습니다:

$email = "example@email.com";
if(strpos($email, '@') !== false){
	echo "Valid email.";
} else {
	echo "Invalid email.";
}


이처럼 'strpos' 함수를 사용하면 문자열 내에서 특정 문자열의 위치를 쉽게 찾아내고 이를 다양한 상황에서 활용할 수 있습니다.

반응형

댓글