関数の概要
array_change_key_caseは、PHPの配列のキーをすべて大文字または小文字に変換するための関数です。多くの場合、配列のキーの大文字・小文字の統一が必要な時に使われます。例えば、APIから取得した配列のキーの書式が統一されていない場合や、キー名の比較を簡単にしたい場合に便利です。
パラメータの説明
- array $array
キーを変換したい配列を指定します。 - int $case = CASE_LOWER
キーを変換するケースを指定します。CASE_LOWER(デフォルト)で小文字、CASE_UPPERで大文字に変換します。
戻り値
指定した配列のキーをすべて大文字または小文字に変換した新しい配列を返します。元の配列は変更されません。
使用例
基本的な使い方(小文字に変換)
$array = ["Name" => "Taro", "Age" => 30];
$result = array_change_key_case($array);
print_r($result);
出力結果:
Array
(
[name] => Taro
日付未入力 => 30
)
この例では、配列のキー「Name」「Age」が小文字の「name」「age」に変換されています。
大文字に変換する場合
$array = ["name" => "Hanako", "city" => "Tokyo"];
$result = array_change_key_case($array, CASE_UPPER);
print_r($result);
出力結果:
Array
(
[NAME] => Hanako
[CITY] => Tokyo
)
第2引数にCASE_UPPERを指定することで、キーが大文字に変換されます。
入れ子配列(多次元配列)には効果がない
$array = [
"User" => ["Name" => "Jiro", "Age" => 25],
"Country" => "Japan"
];
$result = array_change_key_case($array);
print_r($result);
出力結果:
Array
(
[user] => Array
(
[Name] => Jiro
[Age] => 25
)
[country] => Japan
)
注意点として、array_change_key_caseは多次元配列のキーには再帰的に処理を行わないため、内側の配列のキーは変換されません。
関連する関数
array_keys— 配列のすべてのキーを取得するarray_map— 配列の要素にコールバックを適用するarray_change_key_caseと組み合わせて使うユーザー定義の再帰関数 — 多次元配列のキーを再帰的に変換
まとめ
array_change_key_caseは、配列のキーを簡単に大文字・小文字に統一したい場合に便利です。単一階層の配列で特に効果的ですが、多次元配列では内側のキーは変換されないことに注意しましょう。APIレスポンスの整形やデータの一貫性を保つ際に役立つ関数です。
