PHP 配列を上書きせずに結合する方法: まず PHP サンプル ファイルを作成し、次に「array_merge($arr1, $arr2);」メソッドを使用して、同じキー名を上書きせずに 2 つの配列を結合します。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP 配列をマージする方法上書きせずに?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 つの答えは次のとおりです。アンケート内の多肢選択式の質問の一部を結合する必要があり、各部分の回答は配列 (キー=>値) であり、キーは質問番号、値は回答です。 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配列を上書きせずにマージする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。