PHP では、配列は大量のデータを保存し、迅速にアクセスできる非常に強力なデータ構造です。開発プロセスでは、配列から新しい配列を生成し、元の配列の各要素のキー値を変更する必要がよくあります。このとき、PHPのいくつかの関数を使用して配列のキー値を変更する必要があります。
PHP には、配列のキー値を変更するためのメソッドが多数用意されています。一般的に使用される方法をいくつか紹介します。
1. array_combine 関数を使用する
array_combine 関数は PHP の組み込み関数であり、配列のキー名を新しい配列のキー名として使用するために使用できます。新しい配列のキー名として配列の値を指定します。この関数の構文は次のとおりです。
array_combine(array $keys , array $values ) : array
この関数には 2 つのパラメータがあります。変更する必要がある配列の元のキー名配列と、変更されたキー名配列です。 2 つの配列の数が一致しない場合は false が返され、そうでない場合は新しい配列が返されます。
例:
$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange"); $newKeys = array("a", "b", "c"); $newFruits = array_combine($newKeys, $fruits); print_r($newFruits);
実行結果:
Array ( [a] => red [b] => yellow [c] => orange )
上記のコードでは、$fruits 配列のキー名を新しい配列の値として使用し、 $newKeys を新しい配列のキー名として $newFruits 配列を生成します。
2. array_walk 関数を使用する
array_walk 関数も PHP の組み込み関数の 1 つであり、配列内の各要素を走査し、カスタム コールバック関数を呼び出してキー名を変更できます。 。
この関数の構文は次のとおりです:
array_walk(array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool
この関数の最初のパラメータは変更する必要がある配列で、2 番目のパラメータは使用されるカスタム コールバック関数です。元の配列のキー名を変更します。 3 番目のパラメータはオプションのユーザー データです。
例:
$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange"); function changeKey(&$value, $key, $prefix) { $value = $prefix . $key; } array_walk($fruits, 'changeKey', 'fruit_'); print_r($fruits);
実行結果:
Array ( [fruit_apple] => red [fruit_banana] => yellow [fruit_orange] => orange )
上記のコードでは、次の 3 つのパラメーターを受け取るカスタム コールバック関数 changeKey を定義します。 、要素のキー名とユーザーデータ。このコールバック関数では、元のキー名に接頭辞「fruit_」を追加します。
3. array_map 関数を使用する
array_map 関数も配列メソッドの 1 つです。複数の配列をパラメータとして受け入れ、コールバック関数に渡すことができます。コールバック関数では、元の配列のキーを変更して新しい配列を生成できます。
この関数の構文は次のとおりです:
array_map(callable $callback , array $array1 [, array $array2, ... ] ) : array
この関数の最初のパラメータはコールバック関数です。この関数は上記の複数の配列の要素をパラメータとして受け取り、新しいアレイ。すべてのパラメータ配列は同じ数の要素を持つ必要があることに注意してください。
例:
$fruits = array("apple" => "red", "banana" => "yellow", "orange" => "orange"); $keysSuffix = array("1", "2", "3"); $newKeys = array_map(function($key, $suffix) { return $key . $suffix; }, array_keys($fruits), $keysSuffix); $newFruits = array_combine($newKeys, $fruits); print_r($newFruits);
実行結果:
Array ( [apple1] => red [banana2] => yellow [orange3] => orange )
上記のコードでは、array_keys 関数を使用して元の配列のキー名を取得し、array_map を使用します。元のキー名にプレフィックスサフィックスを追加する関数。最後に、array_combine 関数を使用して、新しいキー名と元の値を新しい配列に結合します。
要約すると、PHP では複数の方法を使用して配列キー値を変更できますが、それぞれの方法には独自の長所と短所があります。使用する際には、実際の状況に基づいてニーズを達成するために最も適切な方法を選択する必要があります。
以上がPHPで配列のキー値を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。