테스트 사이트 - 개발 중인 베타 버전입니다

in_array 뒤에 문자 정규표현식 찾기 채택완료

공일 6년 전 조회 2,959

in_array를 이용하여 연관배열 중에 값에서 검색하려고 합니다. 

<코드>

 

가 => ZTYABC

나 => KEKDABC

다 => DKDBC

라 => DKEAC

마 => DKWABC

 

$array_s = "/ABC/";
if (in_array($array_s, $code)) {
     echo "존재합니다.";
}

 

---결과적으로 가,나,마를 찾고 싶습니다. 위에 같이 하니, 찾지 못해 어떤 정규표현식을 사용해야지 ABC로 끝나는 값만 찾을 수 있나요?--------- 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

$code = array(가 => 'ZTYABC',  나 => 'KEKDABC',  다 => 'DKDBC',  라 => 'DKEAC', 마 => 'DKWABC');

$array_s = "/ABC/";
foreach($code as $k => $val){
    if(preg_match($array_s, $val)) {
        echo $k.'<br/>';
    }
}

 

정규식의 경우 preg_match를 써야하네요..

http://tcpschool.com/php/php_regularExpression_basic">http://tcpschool.com/php/php_regularExpression_basic

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

감사합니다^^

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

in_array 를 사용하는 것은 사용법이 맞지 않고, 정규식을 사용해야 합니다.

아래 처럼 하시는게 간단합니다.

</p>

<p>$found = preg_grep('/ABC/', $array);</p>

<p>/*</p>

<p><span style="font-family:Tahoma, 굴림; font-size:9pt;">$found = Array

(

    [가] => ZTYABC

    [나] => KEKDABC

    [마] => DKWABC

)</span></p>

<p>*/</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

foreach($array as $k => $v) {
    if(strpos($v, "ABC") > -1) {
        echo $k;
    }
}

in_array는 굳이 안 쓰셔도 될 듯합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인