現在の位置: ホーム> 最新記事一覧> array_change_key_case()は、元の配列に副作用がありますか?

array_change_key_case()は、元の配列に副作用がありますか?

M66 2025-04-24

PHPでは、 array_change_key_case()は非常に実用的な機能です。その機能は、配列内のすべてのキー名の上限と小文字を均一に変換することであり、デフォルトはそれらを小文字に変換することです。この関数は、さまざまなソースからのデータを処理するときに、キー名形式の一貫性を確保するためによく使用されます。

質問は次のとおりです。Array_Change_Key_Case ()を使用すると、元の配列が変更されますか?

回答:元の配列は変更されません

array_change_key_case()非破壊関数です。つまり、渡された元の配列を直接変更するのではなく、上位および小文字と小文字の文字の後に変換されたキー名を持つ新しい配列を返します。変更された結果を保持したい場合は、変数に割り当てる必要があります。

サンプルコード

<?php
$original = [
    "Name" => "Alice",
    "AGE" => 25,
    "Email" => "alice@m66.net"
];

// 使用 array_change_key_case 元の配列は変更されません
$changed = array_change_key_case($original, CASE_LOWER);

print_r($original);
echo "--------\n";
print_r($changed);
?>

出力結果:

 Array
(
    [Name] => Alice
    [AGE] => 25
    [Email] => alice@vv99.net
)
--------
Array
(
    [name] => Alice
    [age] => 25
    [email] => alice@vv99.net
)

ご覧のとおり、 $のオリジナルアレイは変更されていませんが、 $の変更は新しい配列であり、キー名は小文字に変換されています。

パラメーターの説明

array_change_key_case(array $array, int $case = CASE_LOWER): array
  • $配列:処理する入力配列。

  • $ case :オプション、変換タイプを指定します。

    • case_lower (デフォルト):小文字に変換します。

    • case_upper :大文字に変換します。

注意すべきこと

  • この関数は、1次元配列でのみ動作し、多次元配列のキー名を再帰的に処理しません。

  • 変換されたキー名の重複がある場合、値は上書きされます。たとえば、 ["a" => 1、 "a" => 2]は、小文字に変換した後、["a" => 2]になります。

要約します

array_change_key_case()は、配列キー名のケースを処理するためのPHPの便利なツールです。元の配列は変更されませんが、新しい配列を返します。覚えておいてください:それを使用するときは、必ず返品値をキャッチしてください。そうしないと、変換は意味がありません。

この記事が、array_change_key_case()の使用と特性をより明確に理解できることを願っています!