strpos 사용법 문의
본문
$val='1234';
if(strpos("'1234', '5678', '9011'", $val) == true) { echo '있다'; } else { echo '없다'; }
결과: 있다
$val='12';
if(strpos("'1234', '5678', '9011'", $val) == true) { echo '있다'; } else { echo '없다'; }
결과: 있다
제 생각엔 $val='1234'; 일 경우는 '1234' 와 일치하니 "있다"고
$val='12'; 일 경우는 '1234' 와 일치하지 않으니 "없다"가 맞는게 아닌가 싶은데 있다로 나옵니다.
제가 원하는건 따옴표 안에 데이터 값이 일치하는걸 원했는데... 어떻게 해야하나요..
!-->!-->
답변 4
'1234', '5678', '9011'
이걸 모두 문자열로 인식하기 때문에 그렇습니다. $val 값이 '12 라도 저안에 똑같은 문자열이 포함되어 있기 때문에 있다고 표시될거에요.
작성자분께서 원하시는 결과값을 얻을려면
$array=array("1234", "5678" "9011");
if(in_array($val, $array)){echo "있다";}else{echo "없다"}
이런식으로 처리하셔야지 원하시는 작동방식일것 같습니다.
strpos 는 앞뒤 어떤 글자가 있던지 없던지 포함만 되면 되는거라서 썽피리님 말씀 처럼 배열로 수정해서 사용을 하셔야 할거 같습니다.
궁금했던사항인데 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.