2014-03-06 2 views
0
$array = array('hey','hi','hello'); 

if (in_array('hei',$array)) echo 'aaa'; 

이 작동하지 않습니다, 거기에는 "헤이"를 배열에없는,하지만 정확한 문자열하지 검색 할 뭔가가 필요하기 때문이다.PHP 배열 모두 검색

mySQL에는 x x ALIKE y가 있습니다. 정확한 문자열이 아닌 배열의 비슷한 문자열을 찾기 위해 우리는 무엇을 사용할 수 있습니까?

감사

+0

[SOUNDEX() (http://www.php.net/manual/ en/function.soundex.php) 또는 [levenshtein()] (http://www.php.net/manual/en/function.levenshtein.php) 또는 [similar_text()] (http : //www.php. net/manual/en/function.similar-text.php) 유사한 단어를 찾으려면 –

+0

가능한 복제본 : http://stackoverflow.com/q/5808923/3315914 – rpax

답변

2

이 function : 당신은 각 값을 확인 배열을 반복해야 할 것이다

function like_in_array($sNeedle , $aHaystack) 
    { 

     foreach ($aHaystack as $sKey) 
     { 
      if(stripos(strtolower($sKey) , strtolower($sNeedle)) !== false) 
      { 
       return true; 
      } 
     } 

     return false; 
    } 

    if(like_in_array('hei', $array)) { 
     echo 'in array'; 
    }