PHPでは、 array_change_key_case()は、すべてのキー名を配列内のすべてのキー名を均一に変換する非常に実用的な配列関数です。この関数は、ユーザーの入力またはインターフェイスデータを処理する際のケースの矛盾によって引き起こされる問題を簡素化できます。
array_change_key_case(array $array, int $case = CASE_LOWER): array
$ array :必須、処理する入力配列。
$ case :オプションでは、デフォルトはcase_lowerであり、小文字への変換を示します。 Case_upperを使用して大文字に変換することもできます。
この関数は、ケースに備えてキー名が変換された新しい配列を返し、元の配列は変更されません。
$data = [
"Name" => "Alice",
"AGE" => 25,
"City" => "Shanghai"
];
$result = array_change_key_case($data);
print_r($result);
Array
(
[name] => Alice
[age] => 25
[city] => Shanghai
)
$data = [
"Name" => "Bob",
"gender" => "Male",
"country" => "China"
];
$result = array_change_key_case($data, CASE_UPPER);
print_r($result);
Array
(
[NAME] => Bob
[GENDER] => Male
[COUNTRY] => China
)
アレイに異なるキー名のみを持つ複数のアイテムがある場合、変換プロセス中にキー名の競合が発生し、後者は前のものを上書きします。
この関数は、ネストされた配列のキー名には影響せず、最も外側のレイヤーのみを処理します。
$data = [
"Email" => "user1@m66.net",
"EMAIL" => "user2@m66.net"
];
$result = array_change_key_case($data, CASE_LOWER);
print_r($result);
Array
(
[email] => user2@vv99.net
)
上に示すように、「電子メール」は「電子メール」の値を上書きします。
異なるソースからの配列データを均一に処理するときに、ケースの違いを排除します。
配列キー値を比較または検索するときに、精度と一貫性を向上させます。
ケースに依存しない構成の読み取り機能を構築するために使用されます。
array_change_key_case()とarray_map()を組み合わせることで、ユーザーが送信した均一に処理されるフォームデータなど、より複雑なデータ事前処理ロジックを実装できます。