I have 2 arrays of different length:
$array1 = Array
(
[0] => Array
(
['_id'] => "Group1"
['M'] => 0
['F'] => 0
)
[1] => Array
(
['_id'] => "Group2"
['M'] => 0
['F'] => 0
)
[2] => Array
(
['_id'] => "Group3"
['M'] => 0
['F'] => 0
)
[3] => Array
(
['_id'] => "Group4"
['M'] => 0
['F'] => 0
)
)
$array2 = Array
(
[0] => Array
(
['_id'] => "Group2"
['M'] => 180
['F'] => 200
)
[1] => Array
(
['_id'] => "Group4"
['M'] => 360
['F'] => 500
)
)
I want to compare the values of ['_id'] in both array and if they match, I will replace the values of ['M'] and ['F'] in array1 with those from array2 based on the corresponding ['_id].
So my desired ouptput would be:
$array1 = Array
(
[0] => Array
(
['_id'] => "Group1"
['M'] => 0
['F'] => 0
)
[1] => Array
(
['_id'] => "Group2"
['M'] => 180
['F'] => 200
)
[2] => Array
(
['_id'] => "Group3"
['M'] => 360
['F'] => 500
)
[3] => Array
(
['_id'] => "Group4"
['M'] => 0
['F'] => 0
)
)
This is my code but I can't seem to get the values replaced with the new values. The values are still the same as before.
foreach ($array1 as $defArr)
{
foreach ($array2 as $dayArr)
{
if($dayArr['_id'] == $defArr['_id'])
{
$defArr['M'] = $dayArr['M'];
$defArr['F'] = $dayArr['F'];
}
}
}