PHP では、配列は複数の値を格納し、キーと値のペアを使用して整理できる非常に強力なデータ型です。プログラミング中に、既存の配列のキーを変更する必要がある場合がありますが、この場合、PHP で提供されている関数を使用してこのタスクを完了できます。
1. array_combine() 関数を使用する
配列のキーを値に変換する必要がある場合は、array_flip() 関数を使用できます。逆に、値をキーに変換するには、array_combine() 関数を使用できます。
array_combine() 関数は、それぞれ新しいキー名と新しい値を表す 2 つの配列をパラメーターとして受け取ります。新しいキー配列はインデックス配列である必要がありますが、新しい値配列は任意の型の配列にすることができます。 2 つの配列の要素数が一致しない場合は、false が返されます。
次の例は、array_combine() 関数を使用して配列のキーを変更する方法を示しています。
// 原始数组 $originalArray = array( 'name' => 'John', 'age' => 35, 'gender' => 'male' ); // 新键名数组 $newKeysArray = array( 'person_name', 'person_age', 'person_gender' ); // 使用array_combine()更改键名 $newArray = array_combine($newKeysArray, $originalArray); // 输出新的数组 var_dump($newArray);
出力は次のとおりです。
array(3) { ["person_name"]=> string(4) "John" ["person_age"]=> int(35) ["person_gender"]=> string(4) "male" }
この例では、最初に元の配列 $originalArray を定義します。次に、新しいキー名を含む新しい配列 $newKeysArray を作成します。最後に、array_combine() 関数を使用して、新しいキー名と元の配列の値を新しい配列 $newArray に結合します。
2. array_map() 関数を使用する
array_map() 関数は、PHP のもう 1 つの非常に便利な関数で、配列内のすべての要素にコールバック関数を適用できます。コールバック関数は、入力配列内の要素を表すパラメーターを受け入れる必要があります。コールバック関数では、要素を処理し、処理された結果を返すことができます。最後に、array_map() 関数は、処理されたすべての要素を含む新しい配列を返します。
array_map() 関数を使用する場合、入力配列のキーは出力配列に保持されることに注意してください。
次の例は、array_map() 関数を使用して配列のキーを変更する方法を示しています:
// 原始数组 $originalArray = array( 'name' => 'John', 'age' => 35, 'gender' => 'male' ); // 使用array_map()更改键名 $newArray = array_map(function($value) { $newKey = str_replace('_', ' ', $value); $newKey = ucwords($newKey); $newKey = str_replace(' ', '', $newKey); return $newKey; }, array_keys($originalArray), array_fill(0, count($originalArray), null)); $newArray = array_combine($newArray, $originalArray); // 输出新的数组 var_dump($newArray);
この例では、入力キーを使用する無名関数を定義します。 name 一部の文字列関数は処理後に戻ります。 array_keys() 関数を使用して元の配列のすべてのキーを取得し、array_fill() 関数を使用してキー配列と同じ長さの配列を生成します。これにより、これら 2 つの配列を array_map( ) 関数。最後に、処理されたキー名の配列と元の配列値を新しい配列に結合し、キー名の変更が完了します。
3. foreach ループを使用する
最後に、foreach ループを使用して元の配列を走査し、新しいキー名を持つ新しい配列を作成できます。走査プロセス中に、元の配列のキーと値をそれぞれ変数 $key と $value に割り当て、新しいキー名 $newKey を使用して新しい配列項目を作成する必要があります。走査の最後に、キー名が変更された完全に異なる配列が得られます。
次の例は、foreach ループを使用して配列のキーを変更する方法を示しています:
// 原始数组 $originalArray = array( 'name' => 'John', 'age' => 35, 'gender' => 'male' ); // 新键名 $newKeys = array( 'person_name', 'person_age', 'person_gender' ); // 使用foreach循环更改键名 $newArray = array(); foreach($originalArray as $key => $value) { $newKey = $newKeys[$key]; $newArray[$newKey] = $value; } // 输出新的数组 var_dump($newArray);
この例では、最初に元の配列 $originalArray と新しいキーを定義します。配列$ newKeys。次に、foreach ループを使用して元の配列を反復処理します。各ループでは、現在のサイクルのキー $key に基づいて新しいキー名配列内で対応する新しいキー名 $neKey を見つけ、新しい配列項目 $newArray[$newKey] = $value を作成します。ループが終了すると、キー名が変更された新しい配列 $newArray が取得されます。
以上がPHP配列変更キーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。