현재 위치: > 최신 기사 목록> Array_change_key_case ()를 사용하여 배열 키를 소문자로 변환하는 방법?

Array_change_key_case ()를 사용하여 배열 키를 소문자로 변환하는 방법?

M66 2025-04-25

PHP에서는 연관 배열이 있고 모든 키 이름을 소문자 (또는 대문자)로 변환하려는 경우 내장 기능 array_change_key_case ()를 사용할 수 있습니다. 이 기능은 특히 외부 데이터 소스 (예 : API, 양식, 데이터베이스)에서 얻은 데이터를 다룰 때 매우 실용적이며 일관되지 않은 주요 이름으로 인한 문제를 피할 수 있습니다.

함수 구문

 array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $ 배열 : 작동 할 원래 배열.

  • $ CASE : 변환의 대상 사례 유형. 기본값은 Case_Lower (소문자) 이고 Case_Upper (대문자)도 사용할 수 있습니다.

예 : 키 어레이 이름을 소문자로 변환합니다

 <?php

$data = [
    "Name" => "장 산",
    "AGE" => 28,
    "Email" => "zhangsan@m66.net"
];

$lowercased = array_change_key_case($data, CASE_LOWER);

print_r($lowercased);
?>

산출:

 Array
(
    [name] => 장 산
    [age] => 28
    [email] => zhangsan@vv99.net
)

보시다시피 원래 배열의 키 이름 , 나이이메일은 모두 소문자로 변환됩니다.

실제 응용 시나리오의 예

타사 API (예 : https://api.m66.net/user/info )에서 다음 JSON 데이터를 수신한다고 가정합니다.

 {
    "UserID": 1024,
    "UserName": "lisi",
    "Email": "lisi@m66.net"
}

이 JSON을 구문 분석하고 배열로 변환 한 후에는 모든 키 이름이 쉽게 처리 할 수 ​​있도록 균일하게 소문자가되기를 원할 수 있습니다.

 <?php

$json = '{
    "UserID": 1024,
    "UserName": "lisi",
    "Email": "lisi@m66.net"
}';

$data = json_decode($json, true);
$normalized = array_change_key_case($data, CASE_LOWER);

print_r($normalized);
?>

출력 결과는 다음과 같습니다.

 Array
(
    [userid] => 1024
    [username] => lisi
    [email] => lisi@vv99.net
)

이 처리 후에는 원래 데이터의 키 이름의 경우에 대해 걱정하지 않고 $ 정규화 된 [ '이메일'] 또는 $ 정규화 된 [ '사용자 이름'] 를 통해 해당 값에 안전하게 액세스 할 수 있습니다.

  • Array_change_key_case ()는 첫 번째 레이어 배열의 주요 이름에서만 작동합니다. 배열이 다차원 인 경우 중첩 어레이를 처리하려면 루프 또는 재귀를 결합해야합니다.

  • 대문자로 변환하려면 두 번째 매개 변수를 Case_Upper 로 변경하십시오.