본문 바로가기
개발/PHP

[PHP] strpos, stripos

by 언제나초심. 2016. 1. 19.
반응형

다른 함수랑 쓰다보니 자꾸 헛갈린다.


strpos (문자열, 찾을문자열) 

stripos (문자열, 찾을문자열) 


이다. 순서가 종종 헛갈린다. 앞에 문자열이 긴 문자열이고, 뒤에 들어갈 것이 찾을 문자열 이다. 


'i'm korean' 에서 'korea' 를 찾으려면


strpos('i'm korean','korea') 가 되어야 한다는 말.


그리고 사용하는 방법은





if(stripos($string,$find)===false) return false;

else return true;


이런식으로 사용하면 된다.



strpos 와 stripos 의 차이점은, stripos 는 대소문자 구분없이 찾는 다는 뜻이다. 


strpos 의 정확한 사용법은, 문자열의 위치를 탐색하는 것인데. 


찾는 문자열이 있을 경우에는, 숫자가 리턴이 되든 아무값이 리턴이 안되든 한다. (즉, 환경에 따라 애매하다)


확실한 것은 없을 때에 false 타입을 리턴한다는 것이기 때문에, false 로 구분을 해주자. 


주의할 점은 ===  세개를 써야한다는 점이다. equals 를 3개 표시한다는 것은, 값과 타입까지 동일한지를 확인한다는 뜻이다. 





# api 주소

http://www.php.net/manual/en/function.stripos.php

를 들어가면 된다. 여기서 보면 $needle 이 두번째 인 것을 확인할 수 있다. 보통 needle 이라는 것은 바늘이나, 어떠한 부분이나 지점 을 뜻하는 것으로 보인다. compass 같은 느낌? 뭐 영어는 잘모르니까, 대충 찾으려는 문자열을 needle 로 표현한다고 기억해두면 좋다.



# 헛갈리는 이유

참고로, 헛갈리게 되는 이유는, 종종 preg_match 를 쓰게 되는데, 이 녀석이 순서가 반대이기 때문이다...참고로 알아두면 좋다.

http://php.net/manual/en/function.preg-match.php




반응형