首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何合并和asort()两个对象数组到一个新的数组?

如何合并和asort()两个对象数组到一个新的数组?
EN

Stack Overflow用户
提问于 2010-12-25 00:25:54
回答 2查看 406关注 0票数 0
代码语言:javascript
复制
function sortnmerge($array1,$array2)
$all= array_merge_recursive($array1, $array2);
asort($all);

虽然这适用于常规数组,但有没有办法将其应用于两个或更多对象的数组?

$all将是合并两个联系人列表的结果。

先谢谢你,

JP-

EN

回答 2

Stack Overflow用户

发布于 2010-12-25 00:35:42

代码语言:javascript
复制
    <?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;
}
    ?>
票数 0
EN

Stack Overflow用户

发布于 2010-12-25 00:42:09

两步:定义一个比较对象的函数,然后调用usort($all, "cmp")。示例:

代码语言:javascript
复制
<?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");
}
?>

当然,我假设您正在尝试合并两个对象数组,然后根据某些属性对它们进行比较。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4527288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档