function sortnmerge($array1,$array2)
$all= array_merge_recursive($array1, $array2);
asort($all);虽然这适用于常规数组,但有没有办法将其应用于两个或更多对象的数组?
$all将是合并两个联系人列表的结果。
先谢谢你,
JP-
发布于 2010-12-25 00:35:42
<?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;
}
?>发布于 2010-12-25 00:42:09
两步:定义一个比较对象的函数,然后调用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");
}
?>当然,我假设您正在尝试合并两个对象数组,然后根据某些属性对它们进行比较。
https://stackoverflow.com/questions/4527288
复制相似问题