首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转换为一个数组删除php中的重复值

转换为一个数组删除php中的重复值
EN

Stack Overflow用户
提问于 2022-02-25 16:57:55
回答 1查看 20关注 0票数 -2

每个数组都持有不同类型的考试,具有相同的学生Id.second数组值,推送第一个数组接收值。

阵列1

代码语言:javascript
复制
Array ( 
    [0] => Array ( [student_id] => 1190101 [stname] => Student 1 [remarks] => [totals] => 21 ) 
    [1] => Array ( [student_id] => 1190102 [stname] => Student 2 [remarks] => 1 [totals] => 6 ) 
    [2] => Array ( [student_id] => 1190103 [stname] => Student 3 [remarks] => 
        [totals] => 11 ) 
    [3] => Array ( [student_id] => 1190104 [stname] => Student 4 [remarks] => 1 [totals] => 6 ) 
    [4] => Array ( [student_id] => 1190105 [stname] => Student 5 [remarks] => 1 [totals] => 6 ) 
    [5] => Array ( [student_id] => 1190106 [stname] => Student 6 [remarks] => 1 [totals] => 6 ) 
    [6] => Array ( [student_id] => 1190107 [stname] => Student 7 [remarks] => 1 [totals] => 6 ) 
    [7] => Array ( [student_id] => 1190108 [stname] => Student 8 [remarks] => 1 [totals] => 6 ) 
    [8] => Array ( [student_id] => 1190109 [stname] => Student 9 [remarks] => 1 [totals] => 6 ) 
    [9] => Array ( [student_id] => 1190110 [stname] => Student 10 [remarks] => 1 [totals] => 6 ) )

阵列2

代码语言:javascript
复制
Array ( 
    [0] => Array ( [student_id] => 1190104 [stname] => Student 4 [remarks] => [totals] => 5 ) 
    [1] => Array ( [student_id] => 1190105 [stname] => Student 5 [remarks] => [totals] => 5 ) )

阵列3

代码语言:javascript
复制
Array (
    [0] => Array ( [student_id] => 1190106 [stname] => Student 6 [remarks] => [totals] => 5 ) 
    [1] => Array ( [student_id] => 1190107 [stname] => Student 7 [remarks] => [totals] => 5 )
    [2] => Array ( [student_id] => 1190108 [stname] => Student 8 [remarks] => [totals] => 5 ) 
)

需要像这样的单一多维数组

代码语言:javascript
复制
Array ( 
    [0] => Array ( [student_id] => 1190101 [stname] => Student 1 [remarks] => 1 [totals] => 21 ) 
    [1] => Array ( [student_id] => 1190102 [stname] => Student 2 [remarks] => 1 [totals] => 6 ) 
    [2] => Array ( [student_id] => 1190103 [stname] => Student 3 [remarks] => [totals] => 11 ) 
    [3] => Array ( [student_id] => 1190104 [stname] => Student 4 [remarks] => 1 [totals] => 6*[totals] => 5* ) 
    [4] => Array ( [student_id] => 1190105 [stname] => Student 5 [remarks] => 1 [totals] =>4 [totals] => 5 ) 
    [5] => Array ( [student_id] => 1190106 [stname] => Student 6 [remarks] => 1 [totals] => 6[totals] => 5 ) 
    [6] => Array ( [student_id] => 1190107 [stname] => Student 7 [remarks] => 1 [totals] => 6 [totals] => 5 ) 
    [7] => Array ( [student_id] => 1190108 [stname] => Student 8 [remarks] => 1 [totals] => 6 ) 
    [8] => Array ( [student_id] => 1190109 [stname] => Student 9 [remarks] => 1 [totals] => 6 [totals] => 5 ) 
    [9] => Array ( [student_id] => 1190110 [stname] => Student 10 [remarks] => 1 [totals] => 6 ) 
)
EN

回答 1

Stack Overflow用户

发布于 2022-02-25 17:15:19

您可以迭代每个数组并将所有数据放入一个新的数组中,使用学生ID作为键:

代码语言:javascript
复制
$new_array = [];
$old_arrays = [$array1, $array2, $array3];

foreach( $old_arrays as $old_array ) {
    foreach( $old_array as $key => $value ) {
        $new_array[ $old_array['student_id'] ][$key] = $value;
    }
}

因此,每当它找到一个已经被添加的学生时,它将再次添加信息。如果array2有array1没有的关于学生#123的数据,那么它将被按键添加到新数组中的学生#123的数组中。

这假设每个学生ID都是正确的,每个ID只有一个学生ID,每个学生只有一个ID,并且在不同的数组中没有任何其他信息(如stname或便条)相互冲突。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71269191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档