개발/php

[php] strpos(), strrpos() 특정 문자열 검색하기

반응형

 

strpos()와 strrpos() 함수는 strstr()과 유사한 방식으로 동작한다.

하지만 strpos()의 실행 속도가 더 빠르기 때문에 strstr()대신 strpos()의 사용을 권장한다고 한다.

 

 

문장이나 특정 변수에서 특정 문자가 있는지 체크하려면 strpos(), strrpos() 함수를 사용하면 된다.

strpos([대상 문자열], [조건 문자열])
strpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)])
strrpos([대상 문자열], [조건 문자열])
strrpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)])

둘의 차이는 strpos 함수는 영문자의 대소문자를 구별하여 검색한다. 영문자 대소문자를 구별하지 않고 검색하려면 strrpos()함수를 사용하면 된다.

 

 

예시

stropos(), strrpos()함수는 문장이나 특정 변수에 해당 문자가 포함되어있으면 해당 위치를 알려준다.

echo strpos('apple,banna,grape,peach','banna')

결과값은 6

 

 

 

if문을 활용하여 특정문자가 있는지 여부를 체크해보려면 사용하면 아래와 같다.

$value = "apple,banna,grape,peach";

if (strpos($value,'apple')) { 
//특정문자가 있는 경우
} else {
//그외
}

 

strpos는 해당 문자가 없다면 값을 반환하지 않기 때문에 false로 문자 여부를 체크할 수도 있다.

if (strpos($value,'apple') == false) { 
//특정문자가 없는 경우
}

 

 

 

반응형