我想通过检查php
中两个数组的值来合并两个数组示例数组就像这样,第一个数组
Array
(
[0] => Array
(
[studentName] => XYZ
[studentId] => 690
[rollNo] => 36
)
[1] => Array
(
[studentName] => ABC
[studentId] => 729
[rollNo] => 37
)
)
我的第二个阵列是:
Array
(
[0] => Array
(
[attendanceCode] => 13
[studentId] => 690
)
[1] => Array
(
[attendanceCode] => 14
[studentId] => 729
)
)
不,只有当两个数组的[attendanceCode]
相同时,我才想将[studentId]
键和值添加到第一个数组
我的样品输出应该如下:
Array
(
[0] => Array
(
[studentName] => XYZ
[studentId] => 690
[rollNo] => 36
[attendanceCode] => 13
)
[1] => Array
(
[studentName] => ABC
[studentId] => 729
[rollNo] => 37
[attendanceCode] => 14
)
)
答案 0 :(得分:1)
<?php
$combined_array = array();
foreach($array1 as $key => $a)
{
$combined_array[] = array_merge($array1[$key], $array2[$key]);
}
?>
或做
$combined_array = array_merge_recursive($array1, $array2);
答案 1 :(得分:0)
尝试以下代码,使用此代码,您无需担心数组的索引
<?php
$arr1 = array(
array('studentName'=> 'XYZ',
'studentId'=> 690 ,
'rollNo'=> 36,
),
array('studentName'=> 'ABC',
'studentId'=> 729 ,
'rollNo'=> 37,
)
);
$arr2 = array(
array('attendanceCode'=> '14',
'studentId'=> 729 ,
),
array('attendanceCode'=> '13',
'studentId'=> 690
)
);
$combined_array = array();
if(is_array($arr1)){
foreach($arr1 as $key=>$val){
if(is_array($arr2)){
foreach($arr2 as $k1=>$v1){
if($v1['studentId'] == $val['studentId']){
$combined_array[] = array_merge($val, $v1);
break;
}
}
}
}
}