[英]How to merge and asort() two object arrays into one new array?
function sortnmerge($array1,$array2)
$all= array_merge_recursive($array1, $array2);
asort($all);
While this works for regular arrays, is there a way to apply it to two array of objects or more? 虽然这适用于常规数组,但是有没有办法将其应用于两个或更多对象数组?
$all would be the result of merging both contact lists. $ all将是合并两个联系人列表的结果。
Thank you in advance, 先感谢您,
JP- J.P-
<?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;
}
?>
Two steps: define a function to compare the objects, then call usort($all, "cmp")
. 两个步骤:定义一个比较对象的函数,然后调用
usort($all, "cmp")
。 Example: 例:
<?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");
}
?>
I assume, of course, that you're trying to merge two arrays of objects and then compare them based on some property. 当然,我假设您正在尝试合并两个对象数组,然后根据某些属性对其进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.