php strpos 질문드립니다.

php strpos 질문드립니다.

QA

php strpos 질문드립니다.

답변 2

본문

$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

}

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #php ×
전체 15,331
© SIRSOFT
현재 페이지 제일 처음으로