現在の位置: ホーム> 最新記事一覧> array_change_key_case()を使用してarrayキーを小文字に変換する方法は?

array_change_key_case()を使用してarrayキーを小文字に変換する方法は?

M66 2025-04-25

PHPでは、連想配列があり、すべてのキー名を小文字(または大文字)に変換する場合は、組み込み関数array_change_key_case()を使用できます。この関数は、特に外部のデータソース(API、フォーム、データベースなど)から取得したデータを扱う場合に非常に実用的であり、キー名の一貫性のないケースによって引き起こされる問題を回避できます。

関数構文

array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $配列:操作する元の配列。

  • $ケース:変換のターゲットケースタイプ。デフォルトは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
)

この処理の後、元のデータのキー名のケースを心配することなく、 $ remarized ['email']または$ remarized ['username']を使用して、対応する値に安全にアクセスできます。

ヒント

  • array_change_key_case()は、最初のレイヤー配列のキー名でのみ動作します。アレイが多次元の場合は、ネストされた配列を処理するためにループまたは再帰を組み合わせる必要があります。

  • 大文字に変換する場合は、2番目のパラメーターをcase_upperに変更するだけです。