in_array 뒤에 문자 정규표현식 찾기
본문
in_array를 이용하여 연관배열 중에 값에서 검색하려고 합니다.
<코드>
가 => ZTYABC
나 => KEKDABC
다 => DKDBC
라 => DKEAC
마 => DKWABC
$array_s = "/ABC/";
if (in_array($array_s, $code)) {
echo "존재합니다.";
}
---결과적으로 가,나,마를 찾고 싶습니다. 위에 같이 하니, 찾지 못해 어떤 정규표현식을 사용해야지 ABC로 끝나는 값만 찾을 수 있나요?---------
답변 4
$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를 써야하네요..
foreach($array as $k => $v) {
if(strpos($v, "ABC") > -1) {
echo $k;
}
}
in_array는 굳이 안 쓰셔도 될 듯합니다.
in_array 를 사용하는 것은 사용법이 맞지 않고, 정규식을 사용해야 합니다.
아래 처럼 하시는게 간단합니다.
$found = preg_grep('/ABC/', $array);
/*
$found = Array
(
[가] => ZTYABC
[나] => KEKDABC
[마] => DKWABC
)
*/
감사합니다^^
답변을 작성하시기 전에 로그인 해주세요.