Home > Backend Development > PHP Problem > PHP array merge adds field value

PHP array merge adds field value

王林
Release: 2023-05-05 22:55:06
Original
681 people have browsed it

In PHP programming, array is one of the commonly used data types. Arrays can be used to store and manage data conveniently. In some actual programming, we will encounter situations where we need to merge multiple arrays and add or modify some fields in them. This article will introduce how to use PHP to merge arrays and add values ​​to some fields in them.

1. Array Merge

In PHP, we can use the array_merge() function to merge two or more arrays. The usage of this function is as follows:

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$array3 = array_merge($array1, $array2);
print_r($array3);
Copy after login

The execution result is as follows:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
)
Copy after login

As can be seen from the result, $array3 is formed by merging $array1 and $array2. Among them, the value of $array1 comes first and the value of $array2 comes last. It should be noted that if two arrays have the same key name, the latter will overwrite the former.

2. Add values ​​to certain fields of the array

In addition to merging arrays, we often need to modify certain values ​​in the array. In this article, what we want to achieve is to add values ​​to certain fields of an array. For example, add a total grade field to a student array. Suppose we have the following two student arrays:

$student1 = array('name' => '张三', 'score1' => 80, 'score2' => 90);
$student2 = array('name' => '李四', 'score1' => 85, 'score2' => 95);
Copy after login

Now we want to add a total score field, the method is as follows:

$student1['total'] = $student1['score1'] + $student1['score2'];
$student2['total'] = $student2['score1'] + $student2['score2'];
Copy after login

In this way, a total score field is added to the two student arrays. . Now you can view the results by traversing the array:

$students = array($student1, $student2);
foreach ($students as $student) {
    echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>";
}
Copy after login

The running results are as follows:

张三的总成绩是:170
李四的总成绩是:180
Copy after login

3. Combine the merged arrays and add field values ​​to the array

With the above two parts The combination of knowledge can achieve the effect we want to achieve: merging arrays and adding values ​​to some fields in them.

Suppose we have the following arrays of students from two classes:

$class1 = array($student1, $student2);
$class2 = array(
    array('name' => '王五', 'score1' => 90, 'score2' => 95),
    array('name' => '赵六', 'score1' => 85, 'score2' => 80)
);
Copy after login

Now we want to merge the arrays of the two classes and add a total grade field to each student. The implementation method is as follows:

// 合并两个班级的学生数组
$students = array_merge($class1, $class2);

// 遍历数组,给每个学生增加总成绩字段
foreach ($students as &$student) {
    $student['total'] = $student['score1'] + $student['score2'];
}
Copy after login

It should be noted that when traversing the array, you need to use the reference & symbol, otherwise the added total score field will not be saved in the array.

Now you can traverse the entire array and view the results:

foreach ($students as $student) {
    echo $student['name'] . "的总成绩是:" . $student['total'] . "<br/>";
}
Copy after login

The running results are as follows:

张三的总成绩是:170
李四的总成绩是:180
王五的总成绩是:185
赵六的总成绩是:165
Copy after login

At this point, we have merged multiple arrays and given them The function of adding value to certain fields. This method can easily handle large amounts of data and perform fast operations.

The above is the detailed content of PHP array merge adds field value. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template