每个数组都持有不同类型的考试,具有相同的学生Id.second数组值,推送第一个数组接收值。
阵列1
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
Array (
[0] => Array ( [student_id] => 1190104 [stname] => Student 4 [remarks] => [totals] => 5 )
[1] => Array ( [student_id] => 1190105 [stname] => Student 5 [remarks] => [totals] => 5 ) )阵列3
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 )
)需要像这样的单一多维数组
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 )
)发布于 2022-02-25 17:15:19
您可以迭代每个数组并将所有数据放入一个新的数组中,使用学生ID作为键:
$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或便条)相互冲突。
https://stackoverflow.com/questions/71269191
复制相似问题