다차원 연관배열에서 키(key)로 해당 키에 해당하는 값(value)과 상위키(key)를 구하는 방법
·
조회수 14
아래와 같은 배열이름이 $regionData인 다차원 연관배열이 있을때 키에 해당하는 키에 해당하는 '100'으로 값에 해당하는 '중구'와 상위키에 해당하는 '서울특별시'를 찾는 방법입니다.
$regionData = [
"서울특별시" => [
"100" => "중구",
"110" => "종로구",
"120" => "서대문구",
"121" => "마포구",
"122" => "은평구",
"130" => "동대문구",
"131" => "중랑구",
"132" => "도봉구",
"134" => "강동구",
"135" => "강남구",
"136" => "성북구",
"137" => "서초구",
"138" => "송파구",
"139" => "노원구",
"140" => "용산구",
"143" => "광진구",
"143c" => "광진구",
"150" => "영등포구",
"151" => "관악구",
"154" => "구로구",
"156" => "동작구",
"157" => "강서구",
"158" => "양천구",
],
"강원특별자치도" => [
"200" => "춘천시",
"209" => "화천군",
"210" => "강릉시",
"215" => "양양군",
"217" => "속초시",
"220" => "원주시",
"220c" => "원주시",
"225" => "횡성군",
"230" => "영월군",
"232" => "평창군",
"233" => "정선군",
"235" => "태백시",
"240" => "동해시",
"245" => "삼척시",
"250" => "홍천군",
"252" => "인제군",
"255" => "양구군",
"269" => "철원군",
]
]
아래는 키로 값을 찾고 상위키를 찾는 함수입니다.
function getRegionInfoByCode($code, $regionData) {
foreach ($regionData as $regionName => $areas) {
if (array_key_exists($code, $areas)) {
return [
"region" => $regionName,
"area" => $areas[$code]
];
}
}
return null;
}
사용법은 아래와 같습니다.
$code = "100";//중구
$result = getRegionInfoByCode($code, $regionData);
echo "키인 {$code}의 값과 상위키는 각각 {$result['area']}와 {$result['region']}";
//출력결과 : 키인 100의 값과 상위키는 각각 중구와 서울특별시