PHP プログラミングでは、配列は一般的に使用されるデータ型の 1 つです。配列を使用すると、データを簡単に保存および管理できます。実際のプログラミングでは、複数の配列をマージし、その中のいくつかのフィールドを追加または変更する必要がある状況に遭遇することがあります。この記事では、PHP を使用して配列を結合し、その中のいくつかのフィールドに値を追加する方法を紹介します。
1. 配列のマージ
PHP では、array_merge() 関数を使用して 2 つ以上の配列をマージできます。この関数の使用方法は次のとおりです。
$array1 = array('a', 'b', 'c'); $array2 = array('d', 'e', 'f'); $array3 = array_merge($array1, $array2); print_r($array3);
実行結果は次のとおりです。
Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )
結果からわかるように、$array1 と $array2 が結合されて $array3 が形成されます。このうち、$array1 の値が最初に来て、$array2 の値が最後に来ます。 2 つの配列が同じキー名を持つ場合、後者が前者を上書きすることに注意してください。
2. 配列の特定のフィールドに値を追加する
配列を結合することに加えて、配列内の特定の値を変更する必要があることがよくあります。この記事で達成したいのは、配列の特定のフィールドに値を追加することです。たとえば、合計成績フィールドを Student 配列に追加します。次の 2 つの学生配列があるとします。
$student1 = array('name' => '张三', 'score1' => 80, 'score2' => 90); $student2 = array('name' => '李四', 'score1' => 85, 'score2' => 95);
次に、合計スコア フィールドを追加します。方法は次のとおりです。
$student1['total'] = $student1['score1'] + $student1['score2']; $student2['total'] = $student2['score1'] + $student2['score2'];
この方法で、合計スコア フィールドが追加されます。 2 つの Student 配列。これで、配列をトラバースして結果を表示できるようになります:
$students = array($student1, $student2); foreach ($students as $student) { echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>"; }
実行結果は次のとおりです:
张三的总成绩是:170 李四的总成绩是:180
3. マージされた配列を結合し、フィールド値を配列に追加します
上記の 2 つの部分で知識を組み合わせることで、配列を結合し、配列内のいくつかのフィールドに値を追加するという、達成したい効果を達成できます。
2 つのクラスの生徒の次の配列があるとします。
$class1 = array($student1, $student2); $class2 = array( array('name' => '王五', 'score1' => 90, 'score2' => 95), array('name' => '赵六', 'score1' => 85, 'score2' => 80) );
次に、2 つのクラスの配列をマージし、各生徒に合計成績フィールドを追加します。実装方法は次のとおりです。
// 合并两个班级的学生数组 $students = array_merge($class1, $class2); // 遍历数组,给每个学生增加总成绩字段 foreach ($students as &$student) { $student['total'] = $student['score1'] + $student['score2']; }
配列をトラバースするときは、参照とシンボルを使用する必要があることに注意してください。そうしないと、追加された合計スコア フィールドが配列に保存されません。
これで、配列全体を走査して結果を表示できるようになります:
foreach ($students as $student) { echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>"; }
実行結果は次のとおりです:
张三的总成绩是:170 李四的总成绩是:180 王五的总成绩是:185 赵六的总成绩是:165
この時点で、複数の配列がマージされ、次のようになります。それら 特定のフィールドに値を追加する機能。この方法では、大量のデータを簡単に処理し、高速な操作を実行できます。
以上がPHP配列マージはフィールド値を追加しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。