php에서 array_change_key_case () 함수는 배열의 모든 키의 경우를 변경하는 데 사용됩니다. 배열의 모든 키를 기본적으로 소문자로 변환 할 수 있습니다. 이 기능은 데이터베이스 쿼리 결과를 처리 할 때, 특히 쿼리에서 반환 된 다차원 배열에서 매우 중요한 역할을 할 수 있습니다.
일반적으로 데이터베이스 쿼리의 결과는 다차원 배열이고 각 배열 요소는 레코드를 나타내며 각 레코드의 키 이름은 일반적으로 데이터베이스 테이블 필드의 이름입니다. 데이터베이스 테이블의 필드 이름이 다른 케이스 형식 (예 : 사용자 이름 , 사용자 이름 , 사용자 이름 등)을 사용하는 경우 이러한 키에 액세스 할 때 균일 한 케이스 형식이 필요할 수 있으며 오류 나 혼란을 피할 수 있습니다.
예를 들어, 데이터베이스에서 다음 쿼리를 실행한다고 가정합니다.
$query = "SELECT UserName, EmailAddress FROM Users";
$result = mysqli_query($connection, $query);
쿼리를 실행 한 후 결과 세트는 다음과 같습니다.
Array(
[0] => Array(
[UserName] => 'john_doe',
[EmailAddress] => 'john@example.com'
),
[1] => Array(
[UserName] => 'jane_doe',
[EmailAddress] => 'jane@example.com'
)
)
이 결과 세트 배열에서 두 개의 키 사용자 이름 과 emailAddress 의 경우는 일치하지 않습니다. 필드 이름의 경우를 통합하려면 Array_change_key_case ()를 사용하여 달성 할 수 있습니다.
Array_change_key_case () 함수를 사용하면 데이터베이스 쿼리 결과의 키 사례를 신속하게 통합하여 향후이 데이터에 액세스 할 때 더 편리하고 오류가 발생하지 않습니다.
예를 들어, 배열의 모든 키를 소문자로 변환하려면 다음 코드를 사용할 수 있습니다.
$result = mysqli_query($connection, $query);
$resultArray = mysqli_fetch_all($result, MYSQLI_ASSOC);
// 모든 키를 소문자로 변환하십시오
$resultArray = array_map(function($item) {
return array_change_key_case($item, CASE_LOWER);
}, $resultArray);
// 처리 후 결과를 출력하십시오
print_r($resultArray);
배열 키를 소문자로 통합 한 후 원래 쿼리 결과가 다음과 같습니다.
Array(
[0] => Array(
[username] => 'john_doe',
[emailaddress] => 'john@example.com'
),
[1] => Array(
[username] => 'jane_doe',
[emailaddress] => 'jane@example.com'
)
)
보시다시피, 모든 키는 소문자로 변환되어 일관되지 않은 경우로 인한 오류 나 혼란을 피할 수 있습니다.
일부 URL이 쿼리 결과 (예 : 사용자의 아바타 URL)에 포함되어 있다고 가정하면 URL의 도메인 이름도 필요할 수도 있습니다. 예를 들어, 쿼리 결과에 다음과 유사한 데이터가 있다고 가정합니다.
Array(
[0] => Array(
[UserName] => 'john_doe',
[AvatarURL] => 'http://oldsite.com/images/john.jpg'
),
[1] => Array(
[UserName] => 'jane_doe',
[AvatarURL] => 'http://oldsite.com/images/jane.jpg'
)
)
Avatar URL 의 도메인 이름을 새로운 도메인 이름 (예 : M66.net )으로 바꾸려면 각 레코드를 처리하는 URL을 통과하기 위해 Array_Map ()을 사용 할 수 있습니다.
$result = mysqli_query($connection, $query);
$resultArray = mysqli_fetch_all($result, MYSQLI_ASSOC);
// 모든 키를 소문자로 변환하십시오并바꾸다URL도메인 이름
$resultArray = array_map(function($item) {
$item = array_change_key_case($item, CASE_LOWER);
// 바꾸다AvatarURL的도메인 이름
if (isset($item['avatarurl'])) {
$item['avatarurl'] = str_replace('oldsite.com', 'm66.net', $item['avatarurl']);
}
return $item;
}, $resultArray);
// 처리 후 결과를 출력하십시오
print_r($resultArray);
처리 후 쿼리 결과의 URL이 새 도메인 이름으로 대체됩니다.