2012-11-21 1 views
-4

나는 변수 $implode1에서 바나나도 변수 $implode2에 포함되어있는 경우 경고 메시지를 표시해야합니다배열을 사용하여 데이터를 검사하는 방법 Intersect?

$implode1 = "apple, orange, banana"; 

$implode2 = "banana, mango"; 

을 다음과 같이 database.Checks에 데이터가 입력 확인하고 싶었다. 변수의 값이 비어 있으면 실행이 무시됩니다. 예 :

$implode1 = ""; 

$implode2 = ""; 

위의 문제를 어떻게 코드합니까?

도움이 당신이 무슨 뜻인지, 당신은 단지 확인 것입니다 가정, 나 일반적으로

+0

우리는 무엇을 기대했는데하지만 여기에있다 가정하면 해당 코드는? 4 개의 답을하고, 그 중 하나를 upvote 또는 accept하지 않았다 ... –

답변

0
$implode1 = "apple, orange, banana"; 
$implode2 = "banana, mango"; 

$implode1Array = explode(", ", $implode1); 
$implode2Array = explode(", ", $implode2); 

$result = array_intersect($implode1Array, $implode2Array); 

if(count($result) > 0) { 
    exit('Error!'); 
} 
0

나는 고양이로 당신이 연결을 의미한다고 가정 할 :(하시기 바랍니다,하지만 적절한 여기에 보이지 않는다. 그러나 그래서 같은 두 변수에 동일한 연결 문자 (쉼표), 그러나

if (stristr($implode1, ",") && stristr($implode2, ",")) { 
    // error 
} else { 
    // success, do something 
} 

, 같은 항목을 의미하는 가정이 경우 과일에, 당신이이 방법을 확인할 수 있습니다, 두 변수에 입력되는 :

$im1 = explode(",", $implode1); 
$im2 = explode(",", $implode2); 
foreach($im1 as $i) { 
    if (array_search($i, $im2)) { 
     // error 
    } else { 
     // success, do something 
    } 
} 

물론 두 문자열 모두에서 특정 값을 검색 할 수는 있지만 그럴 생각은 아닙니다.

$duplicate = "apple"; // the item you are searching for a duplicate of 
if (stristri($implode1, $duplicate) && stristr($implode2, $duplicate)) { 
    // error 
} else { 
    // success, do something 
} 
0
if (count(array_intersect)) { /* warning */ } 
0

당신은 교차로를 얻기 위해 PHP의 array_intersect 기능을 사용할 수 있습니다 (http://php.net/manual/en/function.array-intersect.php 참조) :

$arr1 = explode(", ", "apple, orange, banana"); 
$arr2 = explode(", ", "banana, mango"); 
$intersection = array_intersect($arr1, $arr2); 
if (count($intersection) > 0) { 
    echo "WARNING: the lists have a non-empty intersection!"; 
}