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

연관 배열 php 질문합니다 채택완료

fkdkf 5년 전 조회 1,422

$ar = array("a","d","e",...);

 

$area = array(
    "ㄱ" => array("a","b","c"),
    "ㄴ" => array("d","e","f","g"),
    "ㄷ" => array("h","i","j","k"),
    "ㄹ" => array("l","m","n")
);

 

$ar 에서 for문 돌리면서 키값 가져오고 싶은데 어떻게 해야 하나요?ㅜㅜ

"a" 일때 "ㄱ" 이런식으로요ㅜ

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

답변 2개

채택된 답변
+20 포인트
SLOOP
5년 전

</p>

<p>$ar   = array("a","d","e");

$area = array(

    "ㄱ" => array("a","b","c"),

    "ㄴ" => array("d","e","f","g"),

    "ㄷ" => array("h","i","j","k"),

    "ㄹ" => array("l","m","n")

);</p>

<p> </p>

<p>array_walk($ar, function (&$v) use ($area){</p>

<p>

    foreach ($area as $sKey => $sVal) {

        if ( array_search($v, $sVal) !== false ) {

            $v = $sKey;

            break;

        }

    }

});</p>

<p> </p>

<p>var_dump($ar);</p>

<p>//--- array(3) { [0]=> string(3) "ㄱ" [1]=> string(3) "ㄴ" [2]=> string(3) "ㄴ" }</p>

<p>

 

세부 조건이 없어서 임의로 코드를 작성했습니다. $ar 배열에 있는 값으로 체크해서 키가 존재하면 해당 키값으로 변경합니다.

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

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

5년 전

$data = "";

foreach ($ar as $key => $value) {

    switch($key) {

        case "a" :

             $data = $area['ㄱ'];

             break;   

        case "b" :

             $data = $area['ㄴ'];

             break; 

        ... 등등

    }

}

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

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

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

로그인