현재 위치: > 최신 기사 목록> Array_change_key_case ()를 사용하여 다차원 배열 키를 재귀 적으로 변환하는 방법?

Array_change_key_case ()를 사용하여 다차원 배열 키를 재귀 적으로 변환하는 방법?

M66 2025-04-24

php에서 array_change_key_case ()는 배열의 모든 키 이름을 소문자 또는 대문자로 변환하는 매우 실용적인 기능입니다. 그러나이 기능은 기본적으로 1 차원 어레이에만 효과적입니다. 다차원 배열이 있고 모든 레벨에서 키 이름을 대문자 또는 소문자로 변환하려면이 기능을 재귀 적으로 사용해야합니다.

이 기사에서는 PHP를 사용하여 다차원 배열의 모든 키 이름을 소문자 또는 대문자로 재귀 적으로 변환하는 방법을 설명합니다.

기본 사용에 대한 검토

 $input = ['Name' => 'Alice', 'Age' => 25];
$result = array_change_key_case($input, CASE_LOWER);

// 산출:['name' => 'Alice', 'age' => 25]
print_r($result);

위의 코드는 1 차원 배열의 모든 키 이름을 소문자로 변환 할 수 있습니다. 배열이 다차원 인 경우 내부 배열의 키 이름을 처리하기 위해 직접 사용할 수 없습니다.

재귀 전환을 구현하는 기능

아래는 깊이의 어레이 키 이름을 소문자 또는 대문자로 재귀 적으로 변환하는 사용자 정의 기능입니다.

 function array_change_key_case_recursive(array $array, int $case = CASE_LOWER): array {
    $result = [];

    foreach ($array as $key => $value) {
        // 현재 레이어의 키 이름을 변환하십시오
        $newKey = ($case === CASE_UPPER) ? strtoupper($key) : strtolower($key);

        // 값이 여전히 배열 인 경우,재귀 호출
        if (is_array($value)) {
            $result[$newKey] = array_change_key_case_recursive($value, $case);
        } else {
            $result[$newKey] = $value;
        }
    }

    return $result;
}

예 : 다차원 배열 키 이름을 소문자로 변환하십시오

 $data = [
    'User' => [
        'Name' => 'Bob',
        'Email' => 'bob@m66.net'
    ],
    'Meta' => [
        'Created' => '2025-04-11',
        'Tags' => ['PHP', 'Array']
    ]
];

$lowerCased = array_change_key_case_recursive($data, CASE_LOWER);

print_r($lowerCased);

출력 결과 :

 Array
(
    [user] => Array
        (
            [name] => Bob
            [email] => bob@vv99.net
        )

    [meta] => Array
        (
            [created] => 2025-04-11
            [tags] => Array
                (
                    [0] => PHP
                    [1] => Array
                )
        )
)

예 : 다차원 배열 키 이름을 대문자로 변환하십시오

 $upperCased = array_change_key_case_recursive($data, CASE_UPPER);

print_r($upperCased);

출력 결과 :

 Array
(
    [USER] => Array
        (
            [NAME] => Bob
            [EMAIL] => bob@vv99.net
        )

    [META] => Array
        (
            [CREATED] => 2025-04-11
            [TAGS] => Array
                (
                    [0] => PHP
                    [1] => Array
                )
        )
)

요약

Array_change_key_case () 자체는 1 차원 배열 만 지원하지만 재귀 방법을 통해 중첩 된 계층 구조에서 배열을 처리 할 수있는 기능을 쉽게 확장 할 수 있습니다. 이 기술은 API 요청 데이터, 배열 구성 및 기타 시나리오를 처리 할 때 매우 실용적입니다.

이 기사가 PHP 오페라 어레이를보다 유연하게 사용하는 데 도움이되기를 바랍니다. PHP에 대해 더 많은 질문이 있으시면 언제든지 의사 소통하십시오!