PHP では、配列は最も便利でよく使用されるデータ型の 1 つです。配列は、多次元データを扱うとき、およびメモリにデータを保存してアクセスするときに重要な役割を果たします。場合によっては、特定の値に簡単にアクセスできるように配列のキーを変更する必要があります。これは配列操作では一般的なニーズです。
この記事では、PHP の組み込み関数を使用して配列のキーを変更する方法について説明します。 3 つの一般的な使用例を見ていきます。
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 )
使用できます 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
関数を使用して各値を匿名に渡します。文字列を大文字に変換し、新しいキーと値のペアを新しい配列に格納する関数。
多次元配列がある場合は、再帰を使用してキー名を変更できます。各値を再帰的に繰り返し、そのキー名を変更することで、多次元配列を簡単に変換できます。
次は例です:
$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 サイトの他の関連記事を参照してください。