현재 위치: > 최신 기사 목록> array_change_key_case () JSON 데이터를 처리 할 때 모범 사례

array_change_key_case () JSON 데이터를 처리 할 때 모범 사례

M66 2025-04-25

매일 개발에서 우리는 종종 타사 인터페이스에서 JSON 데이터를 얻습니다. 그러나 이러한 인터페이스에 의해 반환 된 데이터의 주요 이름의 사례 형식은 일관성이없고 일부는 자본으로 시작하며 일부는 자본 또는 모두 소문자입니다. 이 일관되지 않은 키 이름 형식은 필드 추출, 통합 매핑, 객체로의 배열 변환 등과 같은 후속 데이터 처리에 많은 문제가 발생하여 오류가 발생하거나 길어질 수 있습니다.

다행스럽게도 PHP는 매우 실용적인 기능을 제공합니다 : Array_change_key_case ()어레이에서 키 이름을 우아하고 효율적으로 통합 하여이 문제를 해결하는 데 도움이됩니다.

1. Array_change_key_case () 란 무엇입니까?

Array_change_key_case () 는 배열의 모든 키 이름의 상단 및 소문자 또는 대문자 를 변환하는 데 사용되는 PHP의 내장 기능입니다.

함수 정의 :

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ 배열 : 처리 할 연관 배열;

  • $ CASE : 대상 케이스 유형, Case_Lower (기본값)를 변환하면 소문자로 변환하고 Case_Upper는 대문자로 변환됩니다.

2. 일반적인 사용 시나리오 : JSON 데이터 처리

실제 JSON 문자열을 예로 사용하여 상류 및 소문자로 키 이름을 우아하게 통합하는 방법을 보여 주겠습니다.

샘플 JSON 데이터 (API 인터페이스에서) :

 {
    "UserID": 101,
    "UserName": "Alice",
    "Email": "alice@example.com"
}

보시다시피, 키 이름은 케이스 혼합입니다. 처리 할 때 편의를 위해 모든 것을 소문자 키 이름으로 변환하려고합니다.

PHP 샘플 코드 :

 <?php

// 이것이 인터페이스에서 나온다고 가정하십시오 https://api.m66.net/user 얻은 데이터
$json = '{
    "UserID": 101,
    "UserName": "Alice",
    "Email": "alice@example.com"
}';

// 첫 번째 단계:할 것이다 JSON 연관 배열로 변환합니다
$data = json_decode($json, true);

// 2 단계:사용 array_change_key_case() 할 것이다键名统一转为小写
$normalized = array_change_key_case($data, CASE_LOWER);

// 출력 처리 된 배열
print_r($normalized);

/*
출력 결과:
Array
(
    [userid] => 101
    [username] => Alice
    [email] => alice@example.com
)
*/

?>

이런 식으로, 우리는 $ 정규화 된 [ 'username'] 및 기타 방법을 사용하여 일관되지 않은 주요 이름의 문제에 대해 걱정하지 않고 값을 얻을 수 있습니다.

3. 확장 : 중첩 된 jsons의 주요 이름을 처리합니다

JSON은 다층 중첩 구조 인 경우 Array_change_key_case () 만 사용하여 첫 번째 레이어 만 처리 할 수 ​​있으며 모든 레벨을 처리하기 위해 재귀 기능을 캡슐화해야합니다.

 function array_keys_to_lower_recursive(array $array): array {
    $result = [];
    foreach ($array as $key => $value) {
        $key = is_string($key) ? strtolower($key) : $key;
        $result[$key] = is_array($value) ? array_keys_to_lower_recursive($value) : $value;
    }
    return $result;
}

사용 방법은 위와 유사합니다.

 $normalized = array_keys_to_lower_recursive($data);

4. 요약

JSON 데이터를 처리하고 키 케이스를 통합하려면 array_change_key_case ()는 간단하고 효율적인 도구입니다. 재귀 버전을 사용하면보다 복잡한 데이터 구조를 처리 할 수도 있습니다. 이는 코드의 가독성을 향상시킬뿐만 아니라 유지 보수 비용을 줄입니다.