Arrays 合并多维数组(PHP)
假设我有两个多维数组,具有相同的结构,如下所示:Arrays 合并多维数组(PHP),arrays,multidimensional-array,array-merge,Arrays,Multidimensional Array,Array Merge,假设我有两个多维数组,具有相同的结构,如下所示: Array ( [0] => Tips Object ( [id] => 1 [userId] => 10 ) [1] => Tips Object ( [id] => 2 [userId] => 22 ) [2] => Tips Object ( [id] => 3 [userId] => 33 ) [3] => Tips Object ( [id] =>
Array ( [0] => Tips Object ( [id] => 1 [userId] => 10 )
[1] => Tips Object ( [id] => 2 [userId] => 22 )
[2] => Tips Object ( [id] => 3 [userId] => 33 )
[3] => Tips Object ( [id] => 7 [userId] => 77 ) )
Array ( [0] => Tips Object ( [id] => 2 [userId] => 22 )
[1] => Tips Object ( [id] => 3 [userId] => 33 )
[2] => Tips Object ( [id] => 4 [userId] => 44 )
[3] => Tips Object ( [id] => 5 [userId] => 55 )
[4] => Tips Object ( [id] => 6 [userId] => 66 ) )
我需要一种方法来合并它们,这样我就可以得到:
Array ( [0] => Tips Object ( [id] => 1 [userId] => 10 )
[1] => Tips Object ( [id] => 2 [userId] => 22 )
[2] => Tips Object ( [id] => 3 [userId] => 33 )
[3] => Tips Object ( [id] => 4 [userId] => 44 )
[4] => Tips Object ( [id] => 5 [userId] => 55 )
[5] => Tips Object ( [id] => 6 [userId] => 66 )
[6] => Tips Object ( [id] => 7 [userId] => 77 ) )
真正的多维数组将更加复杂,这一个只是为了帮助解释我需要什么
谢谢 我假设您要做的是将两个按id或userid排序的序列合并到一个最终排序的序列中。在这种情况下,请查看作为MergeSort一部分使用的合并过程:用户标识20和30在最终数组中的位置?我已更改了我的问题,请提供帮助
$array1=array( 0=>array('id'=>'1','userid'=>'10'),
1=>array('id'=>'2','userid'=>'22'),
2=>array('id'=>'3','userid'=>'33'),
3=>array('id'=>'7','userid'=>'77'));
$array2=array( 0=>array('id'=>'2','userid'=>'22'),
1=>array('id'=>'3','userid'=>'33'),
2=>array('id'=>'4','userid'=>'44'),
3=>array('id'=>'5','userid'=>'55'),
4=>array('id'=>'6','userid'=>'66'));
echo "<pre>";
$mix = array();
foreach($array2 as $k=>$value)
{
if(!in_array($value,array_values($array1))){
$array1[] = $value;
}
}
function sortById($a, $b) {
return $a['id'] - $b['id'];
}
usort($array1, 'sortById');
print_r($array1);
exit;