function sortnmerge($array1,$array2)
$all= array_merge_recursive($array1, $array2);
asort($all);
虽然这适用于常规数组,但有没有办法将它应用于两个或更多对象数组?
$ all将是合并两个联系人列表的结果。
提前谢谢你,
JP -
答案 0 :(得分:0)
<?php
function arrayobj_merge_recursive2($paArray1, $paArray2)
{
if(is_array($paArray2))
{
foreach ($paArray2 AS $sKey2 => $sValue2)
{
$paArray1[$sKey2] = arrayobj_merge_recursive2(@$paArray1[$sKey2], $sValue2);
}
}
elseif(is_object($paArray2))
{
foreach ($paArray2 AS $sKey2 => $sValue2)
{
$paArray1->{$sKey2} = arrayobj_merge_recursive2(@$paArray1->{$sKey2}, $sValue2);
}
} else {
return $paArray2;
}
return $paArray1;
}
?>
答案 1 :(得分:0)
两个步骤:定义一个比较对象的函数,然后调用usort($all, "cmp")
。例如:
<?php
function cmp($a, $b) {
return $a->some_value > $b->some_value;
}
function sortnmerge($arr1, $arr2) {
$all = array_merge_recursive($arr1, $arr2);
usort($all, "cmp");
}
?>
当然,我假设您正在尝试合并两个对象数组,然后根据某些属性对它们进行比较。