現在の位置: ホーム> 最新記事一覧> array_change_key_case()とarray_flip()と組み合わせて

array_change_key_case()とarray_flip()と組み合わせて

M66 2025-04-25

PHPでは、 array_change_key_case()は、すべてのキー名を配列内のすべてのキー名を均一に変換する非常に実用的な配列関数です。この関数は、ユーザーの入力またはインターフェイスデータを処理する際のケースの矛盾によって引き起こされる問題を簡素化できます。

文法

array_change_key_case(array $array, int $case = CASE_LOWER): array

パラメーター説明:

  • $ array :必須、処理する入力配列。

  • $ case :オプションでは、デフォルトはcase_lowerであり、小文字への変換を示します。 Case_upperを使用して大文字に変換することもできます。

返品値

この関数は、ケースに備えてキー名が変換された新しい配列を返し、元の配列は変更されません。

例1:デフォルトで主要な名前を小文字に変換します

$data = [
    "Name" => "Alice",
    "AGE" => 25,
    "City" => "Shanghai"
];

$result = array_change_key_case($data);

print_r($result);

出力:

 Array
(
    [name] => Alice
    [age] => 25
    [city] => Shanghai
)

例2:首都キー名に変換します

$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
)

注意すべきこと

  1. アレイに異なるキー名のみを持つ複数のアイテムがある場合、変換プロセス中にキー名の競合が発生し、後者は前のものを上書きします。

  2. この関数は、ネストされた配列のキー名には影響せず、最も外側のレイヤーのみを処理します。

例3:キー名の競合状況

$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()を組み合わせることで、ユーザーが送信した均一に処理されるフォームデータなど、より複雑なデータ事前処理ロジックを実装できます。