PHPアレイ操作では、キー名の場合がデータの処理結果に影響することがあります。配列キー名の形式を統合するために、PHPは非常に実用的な機能を提供します: array_change_key_case() 。この関数は、配列内のすべてのキー名を大文字または小文字に変換できます。特に、データのクリーニング、標準化、その他のシナリオに適しています。
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ array :必須。処理される入力配列。
$ケース:オプション。コンバージョンのケースタイプ。デフォルトはcase_lower (小文字に変換)またはcase_upper (大文字に変換)です。
array_change_key_case()を使用して、arrayキー名を小文字と大文字に変換する方法を示す簡単な例を示します。
<?php
$data = [
"Name" => "Alice",
"EMAIL" => "alice@m66.net",
"Age" => 25
];
// 小文字のキー名に変換します
$lowercaseKeys = array_change_key_case($data, CASE_LOWER);
print_r($lowercaseKeys);
/* 出力:
Array
(
[name] => Alice
[email] => alice@vv99.net
[age] => 25
)
*/
// 首都キー名に変換します
$uppercaseKeys = array_change_key_case($data, CASE_UPPER);
print_r($uppercaseKeys);
/* 出力:
Array
(
[NAME] => Alice
[EMAIL] => alice@vv99.net
[AGE] => 25
)
*/
?>
キー値は変更されていません: array_change_key_case()は、キー名のケースのみを変更し、配列の値に影響しません。
キー名の競合:変換後に重複したキー名が生成された場合(たとえば、「電子メール」と「電子メール」が存在する)、次のキーは前のキーを上書きします。
文字列にのみ適用されますキー名:数値キー名は影響を受けません。
APIからユーザーデータを取得し、返された結果のキー名が一貫性のない形式であるとします。
$response = [
"User_ID" => 101,
"user_name" => "Bob",
"EMAIL" => "bob@m66.net"
];
簡単に処理するには、小文字に統一されたキー名が必要な場合があります。
$cleanedResponse = array_change_key_case($response, CASE_LOWER);
統一されたキー名は、特にArray_key_exists()やIsset()などの関数を使用する場合、データを処理するときにエラーの可能性を減らすことができます。