PHP では、配列内のキー名を変更する必要がある場合があります。たとえば、データベースからデータを取得するときに、取得したキー名が必要なものではない可能性があるため、必要なキー名に変更する必要があります。この記事では、PHP 配列のキー名を変更するいくつかの方法を紹介します。
1. array_combine 関数を使用する
array_combine 関数は 2 つの配列を 1 つの配列に結合できます。最初の配列の値は新しい配列のキー名として使用され、2 番目の配列の値は新しい配列のキー名として使用されます。配列は次のように使用されます。 新しい配列のキー値は次のとおりです。
$new_keys = array('a', 'b', 'c'); $old_keys = array('1', '2', '3'); $old_values = array('one', 'two', 'three'); $associative_array = array_combine($new_keys, $old_values); print_r($associative_array);
出力結果は次のとおりです。
Array ( [a] => one [b] => two [c] => three )
array_combine 関数を使用して、最初に新しいキー名を配列に配置します、次に古いキー名を使用し、キー値によって連想配列が生成され、最後に array_combine 関数を使用して 2 つの配列を結合し、キー名の変更を完了します。
2. array_map 関数を使用する
array_map 関数は、配列内の各要素にコールバック関数を適用し、コールバック関数の戻り値を使用して元の要素内の対応する要素を置き換えることができます。配列。コールバック関数は値のみを変更し、キー名は変更しないため、array_map 関数を使用してキー名を変更できます。次に、array_map 関数を使用してキー名を変更する例を示します。
$old_array = array( 'firstname' => 'Tom', 'lastname' => 'Hanks' ); $new_array = array_map(function($value) { return str_replace('name', 'label', $value); }, $old_array); print_r($new_array);
出力結果は次のとおりです。
Array ( [firstlabel] => Tom [lastlabel] => Hanks )
この例では、無名関数をコールバック関数として使用します。元のキー名を変更する場合 の「名前」を「ラベル」に置き換えて、変更後のキー名を取得します。
3. foreach ループを使用する
foreach ループを使用して配列を走査し、ループ内で unset 関数と新しいキー名を使用して要素を再割り当てすると、キー名を変更できます。以下は、foreach ループを使用してキー名を変更する例です:
$old_array = array( 'name' => 'Tom', 'gender' => 'male', 'age' => 30 ); $new_array = array(); foreach($old_array as $key => $val) { if($key == 'name') { $new_array['fullname'] = $val; } else { $new_array[$key] = $val; } } print_r($new_array);
出力は次のとおりです:
Array ( [fullname] => Tom [gender] => male [age] => 30 )
この例では、最初に新しい空の配列 $new_array を定義します。次に、古い配列内のすべての要素を反復処理し、キー名が「name」の場合は「fullname」に再割り当てします。それ以外の場合は、要素を新しい配列に直接追加します。ついに変更された配列を取得しました。
要約すると、array_combine 関数、array_map 関数、または foreach ループを使用して、PHP 配列内のキー名を変更できます。各方法には適用可能なシナリオと特性があり、これらの方法から 1 つ以上を選択して、実際のニーズに応じてキー名を変更できます。
以上がPHP配列のキー名を変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。