php strpos 질문드립니다.

php strpos 질문드립니다.

QA

php strpos 질문드립니다.

본문

$test = '1234,5678';

$val = '1234';

 

test에 문자열로 4자리 값이 들어가있고,

val의 값이 test에 있다면 'ok'를 띄워주고 있습니다.

 

if(strpos($test, $val) !== false) {
    echo "ok";
}

문제가 1 또는 12, 2, 23 등의 숫자를 입력해도 모두 ok 가 나오고 있는데

이걸 4자리로 끊어서 처리가 가능할까요.

 

예를 들면 1234, 5678은 ok 이지만

234, 567, 3456 등으로 입력하면 1234,5678 과는 다르기 때문에 'no' 를 띄우는게 

가능한지 궁금합니다.

이 질문에 댓글 쓰기 :

답변 2

strpos 함수는 비교대상에서 비교할문자가 있는위치를 반환하는 함수라서

일부분이면 무조건 존재하는것으로 인식되서 참이 될겁니다.

 

원하시는건 일치할때의 조건으로 보여지는데

차라리 배열로 

$arr = array("1234","5678");

형태로 넣고

$str = "234";

if (in_array($str, $arr)) {

   //true

}

와 같이 비교하는게 더 낫지 않을까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 222
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT