ホームページ >バックエンド開発 >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 つの部分への回答をマージする必要があります。アンケートの多肢選択式の質問、各部分の回答は配列 (key=>value ) であり、key は質問番号、value は回答であり、2 つの部分で質問番号の重複はありません。
回答の 2 つの部分をマージするには、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 = 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 サイトの他の関連記事を参照してください。