2017-01-30 4 views
0
$array_keywords = ('red','blue','green'); 
$string = "Sometimes I'm happy, Sometimes I'm blue, Sometimes I'm sad"; 

(PHP) 검색 키워드 "블루"원하는 결과를 반환해야합니다이 경우, 문자열 및 인쇄 우연의 일치에 (배열).검색 키워드

어떻게해야합니까?

답변

0

사용이 :

$array_keywords = array('red','blue','green'); 

$string = 'Sometimes I'm happy, Sometimes I'm blue, Sometimes I'm sad'; 

foreach ($array_keywords as $keys) { 
    if (strpos($string, $keys)) { 
     echo "Match found"; 
     return true; 
    } 
} 
echo "Not found!"; 
return false; 

또한 대소 문자를 구분 확인 stristr()stripos()를 사용할 수 있습니다.

또는 당신은 Lucanos answer

0

확인이 코드를 볼 수

<?php 
function strpos_array($haystack, $needles, &$str_return) { 

    if (is_array($needles)) { 
     foreach ($needles as $str) { 
      if (is_array($str)) { 
       $pos = strpos_array($haystack, $str); 
      } else { 
       $pos = strpos($haystack, $str); 
      } 

      if ($pos !== FALSE) { 
       $str_return[] = $str; 
      } 
     } 
    } else { 
     return strpos($haystack, $needles); 
    } 
} 

// Test 
$str = []; 
$array_keywords = ('red','blue','green'); 
$string = "Sometimes I'm happy, Sometimes I'm blue, Sometimes I'm sad"; 

strpos_array($string, $array_keywords,$str_return); 
print_r($str_return); 
?> 

이 배열 고급 strpos 코드입니다.

귀하의 요구 사항을 수행하는보다 정확한 방법은 두 개 이상의 요소가 일치하는 경우 배열을 가져 오는 것입니다.