i got 2 multidimensional arrays A and B. Every element of A has a counterpart in B. I want to combine those 2 part.
Does php has a method to do such a task.
Running 2 loops and checking for a match seems a bit inefficient.
Example:
$a = array(
'0' => array(
'id' = 1,
'value_a' = 'v1'),
'1' => array(
'id' = 2,
'value_a' = 'v2'),
'2' => array(
'id' = 3,
'value_a' = 'v3'),
$b = array(
'0' => array(
'a_id' = 3,
'value_b' = 'v3'),
'1' => array(
'a_id' = 1,
'value_b' = 'v1'),
'2' => array(
'a_id' = 2,
'value_b' = 'v2')
Result:
$c = array(
'0' => array(
'id' = 3,
'value_a' = 'v3'),
'a_id' = 3,
'value_b' = 'v3'),
'1' => array(
'id' = 1,
'value_a' = 'v1'),
'a_id' = 1,
'value_b' = 'v1'),
'2' => array(
'id' = 2,
'value_a' = 'v2'),
'a_id' = 2,
'value_b' = 'v2')
Update
Loopmethod:
foreach ($a as $a_item) {
foreach ($b as $b_item) {
if ($a_item['id'] == $b_item['a_id']) {
$c[] = array_merge($a_item, $b_item);
}
}
}
Thx