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

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

PHPz
PHPzオリジナル
2023-04-23 17:49:01473ブラウズ

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 サイトの他の関連記事を参照してください。

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