본문 바로가기
IT_Developers/PHP

PHP - 문자열이 있는지 포함여부 검사 / instr, indexof, strpos()

by 고코더 2019. 4. 1.

문자열 찾기 함수 


안녕하세요.
고코더 입니다.


흔히 ASP나 엑셀 혹은 자바나 스크립트에서
instr이나  indexof를 자주 사용합니다.

특정 문자열이 있으면 해당 문자의 위치를 돌려 주는데
이게 여러가지 로직에서
자주 쓰는 방법입니다.

그런데 PHP에서는
특이한 함수명으로 문자열 찾기 함수가 있습니다

바로 strpos() 입니다.

▼ 제가 직접 작성한 간단한 예시가 있는
아래 소스를 웹에서 구동해보세요.
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
echo strpos("GoCoder ITExpress","IT")."번째에 존재함";
 
if (strpos("GoCoder ITExpress","IT")){
    echo "문자열이 존재함";
};
 
if (strpos("GoCoder ITExpress","고코더"=== false){
    echo "문자열이 존재하지 않음";
};
 
?>
cs

▼ 간단한 예시로 실행해보았습니다.


▼ 기본적인 기능은
해당 문자열에 위치를 반환합니다.
strpos("GoCoder ITExpress","IT")
-> 8을 반환 8번째 있으므로

▼ 실무에서는
해당 문자열이 있으면 이라고 if를 많이 쓰게 됩니다.
이런식으로 if 하면 참일 경우 자동으로 로직으로 들어옵니다.
if (strpos("GoCoder ITExpress","IT")){
    echo "문자열이 존재함";
};

▼ 그리고 거짓일 경우에는 
=== false를 씁니다. 
if (strpos("GoCoder ITExpress","고코더") === false){
    echo "문자열이 존재하지 않음";
};


이렇게 하면
기존에 instr, indexof 처럼 이해가 쉬울거라 생각됩니다.




마무리


strpos 좀 처럼 외워지지 않네요


댓글