PHP 특정 문자 검색 strpos 사용 방법

정규 표현식을 사용하지 않고 문자열에 검색 문자가 포함되어 있는지 체크하는 방법을 알아보겠습니다.

문자 검색을 하기 위해 사용할 함수는 strpos입니다.

문자를 검색하기 위해 사용할 수 있는 대표적인 함수로 strposstrstrpreg_match 가 있습니다.

이 중에서 strpos 함수가 처리 속도가 가장 빠릅니다.

본론으로 들어가 사용 방법을 보도록 하겠습니다.

 

strpos 함수

문자열에서 지정한 검색 문자가 존재하는 경우에는 인덱스 값을, 존재하지 않는 경우에는 false를 반환합니다.

예를 들어 strpos(‘abcd’,’ab’)를 실행하면 0을 반환합니다.

일치하는 문자열의 위치가 0이기 때문입니다.

strpos를 사용해 결과값을 비교할 때는 타입도 같이 비교해야 하기 때문이 ===false 또는 !==false를 사용해야 합니다.

 

strpos 예제

<?php
$strposTest = 'abcde';

if(strpos($strposTest,'bc') !== false){
	// $strposTest 변수에 'bc' 가 포함되어 있는 경우.
}

if(strpos($strposTest,'bf') === false){
	// $strposTest 변수에 'bf' 가 포함되어 있지 않은 경우.
}

?>

 

첫 번째에서는 !==false 를 사용했습니다.

검색 문자인 bc는 변수 $strposTest에 포함되어 있는 문자이기 때문에 인덱스를 반환합니다.

두 번째에서 사용한 strpos에서는 ===false를 사용했습니다.

검색 문자인 bf는 문자열에 포함되어 있지 않기 때문에 false를 반환합니다.

문자열에 지정한 문자가 포함되어 있는지 확인만 하는 처리라면 strpos 함수를 사용하는 것이 좋습니다.

댓글