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

$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 포인트
Copy
$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")
);

 

array_walk($ar, function (&$v) use ($area){


    foreach ($area as $sKey => $sVal) {
        if ( array_search($v, $sVal) !== false ) {
            $v = $sKey;
            break;
        }
    }
});

 

var_dump($ar);

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

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

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

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

$data = "";

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

    switch($key) {

        case "a" :

             $data = $area['ㄱ'];

             break;   

        case "b" :

             $data = $area['ㄴ'];

             break; 

        ... 등등

    }

}

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

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

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

로그인
🐛 버그신고