2012-03-19 17 views
0

배열 ($ array)에 다른 문자열 ('isavery')이 포함 된 문자열 ('thisisaverylongstring')이 있는지 확인하는 루프를 만들어야합니다.PHP : 배열에 문자열이있는 문자열이 있는지 어떻게 알 수 있습니까?

유효한 PHP에서 어떻게 작성합니까? 당신이 그것이 말하는 것처럼 간단한 경우

+0

당신이'와 in_array()'와'array_search()'기능을 시도 했 일할 수 이해? – safarov

+0

정확히 어떤 문제가 있습니까? [배열 반복] (http://php.net/manual/en/control-structures.foreach.php)? [문자열의 부분 문자열 찾기] (http://php.net/manual/en/function.strpos.php)? –

+0

배열 배열 또는 문자열 배열입니까? –

답변

0
$stringToLookFor = 'isavery'; 
$inArray = FALSE; //does the string exist in the array? 
foreach($array as $string) 
{ 
    if(strpos($string, $strongToLookFor) !== FALSE) 
    { 
     $inArray = TRUE; 
    } 
} 

if($inArray) 
{ 
    echo 'String "' . $stringToLookFor . '" found in array'; 
} 
+0

나는 이것이 효과가 있다고 생각한다. –

1

, 당신은 stripos (대소 문자 구분 문자열 검색)를 사용할 수 있습니다 :

foreach ($array as $element) { 
    if (stripos($element, 'isavery') !== false) { 
     echo 'Found it!'; 
     break; 
    } 
} 
1

내가 실제 요구 사항이 무엇인지 알 수가에서로하지만 내 다음과 같은 기능이

function checkInArray($array, $val) 
{ 
    if(in_array($val,$array)) 
    return true;  
} 
function checkvalinarray($array2D, $val1, $val2) 
{ 
foreach($array2D as $array1D) 
{ 
    if(checkInArray($array1D,$val2)) 
    return true;  
} 
} 
1
$arrayData = array('This is a very long string', 
        'This is a short string', 
       ); 
$needle = 'very'; 

$matches = array_filter($arrayData, 
         function($data) use ($needle) { 
          return (stripos($data,$needle) !== FALSE); 
         } 
         ); 
if (count($matches) > 0) { 
    echo 'Match found'; 
} 
var_dump($matches); 
관련 문제