您好,谢谢您的关注
我确实有两个数组:
这意味着:
I need to extend the Sub-Arrays in $postings_array [A] by merging them with the Sub-Arrays of the $usersdata_array [B] based on WHERE the VALUE of the usrsID KEY in the sub-array[A] is EQUAL to the usrsID KEY in the sub-array[B].
Array [A]:
(
[0] => Array
(
[ID] => 5
[usrsID] => 3
[tid] => 19
[txtid] => 22
)
[1] => Array
(
[ID] => 6
[usrsID] => 1
[tid] => 19
[txtid] => 23
)
[2] => Array
(
[ID] => 7
[usrsID] => 2
[tid] => 19
[txtid] => 24
)
[3] => Array
(
[ID] => 8
[usrsID] => 1
[tid] => 19
[txtid] => 25
)
)
-
Array [B]:
(
[0] => Array
(
[id] => 1
[usrsID] => 1
[avatarID] => 1
)
[1] => Array
(
[id] => 2
[usrsID] => 2
[avatarID] => 3
)
[2] => Array
(
[id] => 3
[usrsID] => 3
[avatarID] => 22
)
)
所需的结果(在上面的示例中,[B]的扩展名是[A]):
Array [A_extended]:
(
[0] => Array
(
[ID] => 5
[usrsID] => 3
[tid] => 19
[txtid] => 22
[id] => 3
[avatarID] => 22
)
[1] => Array
(
[ID] => 6
[usrsID] => 1
[tid] => 19
[txtid] => 23
[id] => 1
[avatarID] => 1
)
[2] => Array
(
[ID] => 7
[usrsID] => 2
[tid] => 19
[txtid] => 24
[id] => 2
[avatarID] => 3
)
[3] => Array
(
[ID] => 8
[usrsID] => 1
[tid] => 19
[txtid] => 25
[id] => 1
[avatarID] => 1
)
)
...我认为,这是一个普遍的问题,因此应该有一个最佳实践(可能是一个内置的php函数或其中两个或三个的组合)-而且我不必重新发明轮子。至少,我希望如此...
否则,我的方法是
- 检查迭代次数(=在$ usersdata_array [B]中找到的子数组)] >>
- 迭代outerHaystack并在innerHaystack中发现$ needle时触发一个函数
- 通过checkSubArrayfunc执行合并
方法,hayStackArray = complete [A] Array;针= [B]子数组的$ usrsID值:
function checkSubArrayfunc($hayStackSubArray, $needle, $toMergeSubArray) {
if (in_array(array('$hayStackSubArray'), $needle)) {
array_merge_recursive($hayStackSubArray, $toMergeSubArray);
}
}
您好,感谢您的关注,我的确有两个数组:[A]-从server1上一个数据库的mysql查询中-$ postings_array-讨论线程的所有帖子的SELECT(基于...) >
首先,将一个空数组用作存储标记数组。然后遍历两个数组。如果userID
在两个元素数组中都相同,则对这些数组进行修饰并推入margeArr尝试一下: