PHP では、配列は複数の値を格納できる非常に便利なデータ型であり、一意のキーを使用して各値にアクセスできます。 PHP 配列のキーには数値または文字列を使用できますが、大規模な配列を扱う場合は、配列内のキーの順序を変更したり、キーの名前を変更したりする必要がある場合があります。この記事では、PHP で配列のキーを変更する方法について説明します。
1. array_combine() 関数を使用する
array_combine() 関数は、2 つの配列を 1 つの配列に結合できます。最初の配列には新しいキーが含まれ、2 番目の配列には使用される値が含まれます。この関数は、次のように元の配列のキー値を変更するために使用できます:
$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry'); $newKeys = array(1,2,3); $newArray = array_combine($newKeys,$oldArray); print_r($newArray);
この例では、まず、キーが a、b、c である 3 つの要素を含む配列 $oldArray を定義します。対応する値はそれぞれリンゴ、バナナ、チェリーです。次に、3 つの数値 1、2、3 を含む新しい配列 $newKeys を定義します。最後に、array_combine() 関数を使用して、$newKeys 配列を新しいキーとして $oldArray 配列に渡し、古いキーが値、新しいキーが 1、2、および 3 である新しい配列 $newArray を生成します。 3.最後に、print_r() 関数を使用して $newArray を出力します。結果は次のようになります:
Array ( [1] => apple [2] => banana [3] => cherry )
ここでのキーは、元の a、b、c ではなく、1、2、3 です。
2. array_values() 関数と array_flip() 関数を使用する
array_values() 関数は、配列内のすべての値を返し、元のキーを次から始まる数値キーとして再インデックスできます。 0 。この関数を使用すると、0 から始まる数値キーをキーとする新しい配列を生成できます。 array_flip() 関数は、配列内のキーと値を反転できます。これら 2 つの関数を組み合わせることで、次のように元の配列のキー値を変更できます。
$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry'); $newArray = array_flip(array_values($oldArray)); print_r($newArray);
この例では、まず 3 つの要素を含む配列 $oldArray を定義します。そのキーは対応するものです。 a、b、c の値はそれぞれリンゴ、バナナ、チェリーです。 array_values() 関数を使用して、$oldArray 配列の値を 0 から始まる数値キーに再配置し、新しい配列を生成します。次に、array_flip() 関数を使用して新しい配列のキーと値を反転します。これにより、元の値が新しいキーになり、新しいキーは 0 から始まる数値キーになります。最後に、print_r() 関数を使用して $newArray を出力します。結果は次のようになります:
Array ( [apple] => 0 [banana] => 1 [cherry] => 2 )
ここでの新しいキーは、元の a、b、c ではなく、0 から始まる数字キーです。
3. array_map() 関数と匿名関数を使用する
array_map() 関数は、配列のすべての値に関数を適用し、新しい配列を返すことができます。この関数を使用すると、元の配列のキーに関数を適用して取得した新しい値をキーとする新しい配列を生成できます。無名関数を組み合わせることで、次のように元の配列のキー値を変更できます。
$oldArray = array('a'=>'apple','b'=>'banana','c'=>'cherry'); $newArray = array_map(function($key){ return $key.'123'; },array_flip($oldArray)); print_r($newArray);
この例では、まず、キーが a と b である 3 つの要素を含む配列 $oldArray を定義します。および c の場合、対応する値はそれぞれリンゴ、バナナ、チェリーです。次に、array_flip() 関数を使用して $oldArray 配列内のキーと値を反転し、新しいキーが元の値になるようにします。次に、array_map() 関数を使用して、各配列要素のキーに匿名関数を適用します。この匿名関数は、各キーにサフィックス「123」を追加し、最終的に新しい配列を返します。最後に、print_r() 関数を使用して $newArray を出力します。結果は次のようになります:
Array ( [apple123] => 0 [banana123] => 1 [cherry123] => 2 )
ここでの新しいキーは元の値であり、サフィックス "123" が各キーに追加されます。
概要
PHP で配列のキーを変更する方法は数多くあります。上記の 3 つの一般的な方法です。これらのメソッドを使用すると、さまざまなニーズに合わせて配列のキー値を簡単に変更できます。状況に応じて適した方法が異なるため、ニーズに応じて使用する方法を選択できます。
以上がPHPで配列のキーを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。