2016-10-27 6 views
-1

나는이 주된 흔적을 가지고 있습니다. 내가 코드를 다음하지만 나에게 완벽한 결과를 제공 할 수에 의해 시도 기본 문자열에서 쉼표로 구분 된 여러 문자열을 찾는 방법

DSR

FXS

S,SR,DSR,DS,FX,FXS,SR,DS,S,SR,DS,FX,S,SR,DS,FX,FXS 

그리고 난 다음 문자열의 각을 찾고 싶어요 ....

코드 ..., 생성 된 배열 교차로 수가 검색과 같은 경우

<?php 
    $mainstring ="S,SR,DSR,DS,FX,FXS,SR,DS,S,SR,DS,FX,S,SR,DS,FX,FXS"; 
    $needed = "DSR,FXS"; 

    if(strpos($mainstring, $needed) !== false) { 
     echo "Found"; 
    }else{ 
     echo "Not match"; 
    } 
?> 
+5

"DSR, FXS는"... 당신의 문자열에 –

+0

아니다 필요한 경우, strpos는 0을 리턴하고, 이는 == false입니다. – kosta

+0

"DSR, FXS"는 "S, SR, DSR, DS, FX, FXS, SR, DS, S, SR, DS, FX, S, SR, DS, FX, FXS"에서 사용할 수 있습니다. – maddy

답변

5

하나의 솔루션은 쉼표 (,)로 그 문자열을 폭발하고 확인하는 것입니다 :

$mainstring ="S,SR,DSR,DS,FX,FXS,SR,DS,S,SR,DS,FX,S,SR,DS,FX,FXS"; 
$needed = "DSR,FXS"; 

$mainStringArr = explode(',', $mainstring); 
$neededArr = explode(',', $needed); 

if (count(array_unique(array_intersect($mainStringArr, $neededArr))) == count($neededArr)) { 
    echo 'found'; 
} else { 
    echo 'not found'; 
} 
0

$needed을 폭발 문자열을 커맨드로 배열하고 배열을 가로 질러 $mainstring에 배열의 각 값을 비교하면 strpos() 함수를 사용합니다. 발견 된 경우 $arrResut에 'Found'또는 'not found'값을 넣고 마지막으로 $arrResult을 인쇄하여 $ needed 중 어느 값이 필요한지 확인합니다. 찾을 경우 값 경우

는 또한, 우리는 $cntNeeded 변수를 증가. foreach 루프의 끝에 $cntNeeded & $arrNeeded의 값이 동일한 값이 모든 다른 $mainstring하지로 발견되어 비교. (strpos가 ($의 mainstring은 $ 필요)! == false로) 가장 현명한 방법이 아닌 경우 $의 mainstring는 $로 시작하는 경우 때문에

$mainstring ="S,SR,DSR,DS,FX,FXS,SR,DS,S,SR,DS,FX,S,SR,DS,FX,FXS"; 
$needed = "DSR,FXS"; 
$arrNeeded = explode(",", $needed); 

$arrResult = array(); 
$cntNeeded = 0; 
foreach($arrNeeded as $index => $needed) { 
    if(strpos($mainstring, $needed) !== false) { 
    $arrResult[$needed] = "Found"; 
    $cntNeeded++; 
    } 
    else{ 
    $arrResult[$needed] = "Not match"; 
    } 
} 

print("<pre> :: arrResult ::"); 
print_r($arrResult); 
print("</pre>"); 

if($cntNeeded == count($arrNeeded)) { 
    echo "Found"; 
} 
else { 
    echo "Not match"; 
} 
+1

OP가 "코드 아래에서 시도"해야하는 이유는 무엇입니까? *** 좋은 대답 ***은 무엇을했는지에 대한 설명과 왜 그런 방식으로했는지에 대한 설명을 OP에서뿐만 아니라 미래의 방문객에게도 제공합니다. –

관련 문제