테스트 사이트 - 개발 중인 베타 버전입니다

문자열 비교 채택완료

bde6891 10년 전 조회 3,726

php에서는 제가 찾고자 하는 문자열이

해당 문자열에 있는지 없는 지 어떻게 코딩하나요?

 

str = 사과+바나나+딸기+배+메론+과자;

이런식의 문자열이 있다면..

 

만약 사과, 바나나, 딸기, 배, 메론을 검색하여 있으면

각 과일들을

과일 :  사과 바나나 딸기 배 메론

이런식으로 출력하고자 합니다.

 

if와 mb_strpos 을 이용하면 될까요?

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
10년 전

$str = '사과+바나나+딸기+배+메론+과자';

$strArr=explode('+', $str);

 

$searchk[]='사과'; //검색할 과일 배열
$searchk[]='배';

 

$aa=array_intersect($strArr, $searchk);
$bb = implode(" ", $aa);
echo '과일:'.$bb;​

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

b
bde6891
10년 전
만약
$str = '사과입니다+바나나에요+딸기+배라구요+메론+과자";
이런식으로 db값이 존재하고 있으며,
사과 바나나 딸기 배 등 과일을 검색하여
출력하고자 합니다.

str에 정확히 사과로 있는게 아니라 사과입니다에서 '사과'라는 문자열을 찾아서 출력해줘야 하는데 .이럴경우 문자열을 검색조건에 하나씩 다 잘라줘야하나여?
균이
10년 전
그러게 질문을 실제상황으로 명확하게 해야 원하는 답변을 빠르게 얻을 수 있는 게지요

$str = '사과입니다+바나나에요+딸기+배라구요+메론+과자';
$schStr[]='사과';
$schStr[]='바나나';
$schStr[]='딸기';
$schStr[]='배';

$resultStr = '';
foreach( $schStr as $vv){
if( strpos($str, $vv) !==false) $resultStr .= $deli.$vv; $deli = ' ';
}
echo $resultStr;
b
bde6891
10년 전

제가 원하는 값이 나오긴 하는데..
첫번째 글은 사과
두번쨰 글은 사과 바나나 사과 바나나
세번째 글은 딸기 딸기 딸기 딸기

이런식으로 점점 값이 반복하면서 나오네요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인