ホームページ  >  記事  >  バックエンド開発  >  PHPで配列のキーを変更する方法

PHPで配列のキーを変更する方法

PHPz
PHPzオリジナル
2023-04-23 09:13:48466ブラウズ

PHP では、配列は最も便利でよく使用されるデータ型の 1 つです。配列は、多次元データを扱うとき、およびメモリにデータを保存してアクセスするときに重要な役割を果たします。場合によっては、特定の値に簡単にアクセスできるように配列のキーを変更する必要があります。これは配列操作では一般的なニーズです。

この記事では、PHP の組み込み関数を使用して配列のキーを変更する方法について説明します。 3 つの一般的な使用例を見ていきます。

  1. 配列のキー名の変更

PHP では、array_keys 関数を使用して次のことを行うことができます。配列のキー リストを生成し、array_combine 関数を使用して新しいキー リストと元の配列の値を組み合わせ、配列のキー名を変更できるようにします。

次は例です:

$oldArray = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$newKeys = array(
    '1' =>'apple',
    '2' => 'banana',
    '3' => 'cherry'
);

$newArray = array_combine($newKeys, $oldArray);

print_r($newArray);

出力:

Array
(
    [apple] => apple
    [banana] => banana
    [cherry] => cherry
)
  1. 配列のキー値を変更します

使用できます array_map 関数を無名関数と組み合わせると、配列のキー値が変更されます。匿名関数は、各値をパラメーターとして渡し、新しい値を返し、これらの新しいキーと値のペアを新しい配列に格納します。

これは例です:

$oldArray = array(
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
);

$newArray = array_map(function($value) {
    return strtoupper($value);
}, $oldArray);

print_r($newArray);

出力:

Array
(
    [a] => APPLE
    [b] => BANANA
    [c] => CHERRY
)

上の例では、array_map 関数を使用して各値を匿名に渡します。文字列を大文字に変換し、新しいキーと値のペアを新しい配列に格納する関数。

  1. 多次元配列のキー名の変更

多次元配列がある場合は、再帰を使用してキー名を変更できます。各値を再帰的に繰り返し、そのキー名を変更することで、多次元配列を簡単に変換できます。

次は例です:

$array = array(
    "a" => array(
        "b" => array(
            "c" => "apple"
        )
    ),
    "d" => array(
        "e" => array(
            "f" => "banana"
        )
    ),
    "g" => array(
        "h" => "cherry"
    )
);

function changeKeys(array $array, array $newKeys): array
{
    $newArray = array();
    foreach ($array as $key => $value) {
        if (array_key_exists($key, $newKeys)) {
            $key = $newKeys[$key];
        }
        if (is_array($value)) {
            $value = changeKeys($value, $newKeys);
        }
        $newArray[$key] = $value;
    }
    return $newArray;
}

$newKeys = array(
    'a' => 'apple',
    'd' => 'banana',
    'g' => 'cherry'
);

$newArray = changeKeys($array, $newKeys);

print_r($newArray);

出力:

Array
(
    [apple] => Array
        (
            [b] => Array
                (
                    [c] => apple
                )

        )

    [banana] => Array
        (
            [e] => Array
                (
                    [f] => banana
                )

        )

    [cherry] => Array
        (
            [h] => cherry
        )

)

上記の例では、配列を再帰的に走査し、新しいキー名の対応する項目を見つけます。次に、「新しいキー名の作成」を使用します。入れ子になった配列が見つかった場合、再帰中に変更が続行されます。

概要

PHP では、配列のキー名とキー値の変更は、特に多次元データを扱う場合に非常に便利な操作です。この記事では、3 つの一般的な方法について説明します。 array_combine 関数を使用して配列のキー名を変更する方法、array_map 関数を使用して配列のキー名を変更する方法、およびキーを再帰的に変更する方法です。多次元配列の名前。この記事がお役に立てば幸いです。

以上がPHPで配列のキーを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。