この記事は主に、PHP で配列をマージしてキー値を保持する実装方法を共有するものであり、良い参考値となっており、皆様のお役に立てれば幸いです。
php は、通常 array_merge メソッドを使用して配列をマージします。
array_merge — 1 つまたは複数の配列を結合します
array array_merge ( array $array1 [, array $... ] )
array_merge 1 つまたは複数の配列のセルを結合し、1 つの配列の値を前の配列に追加し、結果の配列を返します。
入力配列に同じ文字列キー名がある場合、キー名の後の値で前の値が上書きされます。ただし、配列に数値キーが含まれている場合、後者は元の値を上書きせず、追加されます。
配列のみが指定され、その配列が数値的にインデックス付けされている場合、キー名は連続的に再インデックス付けされます。
例 1、配列は文字列キー名を使用し、同じキー名は後続のキー名によって上書きされます
<?php $arr1 = array('name'=>'fdipzone'); $arr2 = array('name'=>'terry'); $result = array_merge($arr1, $arr2); print_r($result); ?>
出力:
Array ( [name] => terry )
例 2、配列は数値キー名を使用し、同じキー名上書きされず、キー名は再インデックス化されます
<?php $arr1 = array(0=>'fdipzone',1=>'terry'); $arr2 = array(0=>'php',1=>'python'); $result = array_merge($arr1, $arr2); print_r($result); ?>
出力:
Array ( [0] => fdipzone [1] => terry [2] => php [3] => python )
作業の都合上、アンケートの多肢選択式質問の 2 つの部分に対する回答を結合する必要があります。各パートの解答は配列(key=>value)となっており、キーは質問番号、値は解答となり、2つのパートで質問番号の重複はありません。
array_merge を使用して、回答の 2 つの部分をマージします
<?php $form_data1 = array(11=>'A',12=>'B',13=>'C',14=>'D'); $form_data2 = array(25=>'B',26=>'A',27=>'D',28=>'C'); $result = array_merge($form_data1, $form_data2); print_r($result); ?>
出力:
Array ( [0] => A [1] => B [2] => C [3] => D [4] => B [5] => A [6] => D [7] => C )
array_merge を使用してマージします。質問番号 (キー) は数値であるため、キー名が再インデックスされ、結果として質問番号が生成されます。保持されていない。
配列をマージしてキー値を保持するメソッド:
<?php $form_data1 = array(11=>'A',12=>'B',13=>'C',14=>'D'); $form_data2 = array(25=>'B',26=>'A',27=>'D',28=>'C'); $result = $form_data1 + $form_data2; print_r($result); ?>
出力:
Array ( [11] => A [12] => B [13] => C [14] => D [25] => B [26] => A [27] => D [28] => C )
配列をマージするには "+" 演算子を使用します。マージされた配列には同じキー値が含まれており、後のキー値は前のキー値を上書きしません(前のキー値が優先されます)。
以上がPHP は配列を結合してキー値を保持する例を共有します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。