I have two arrays $array1 and $array2 with data as show:
$array1:
Array
(
[0] => Array
(
[id] => 222
[issubtask] => true
)
[1] => Array
(
[id] => 444
[issubtask] => false
)
)
$array2:
Array
(
[0] => Array
(
[id] => 111
[name] => Mark
[isselected] => false
[issubtask] => false
)
[1] => Array
(
[id] => 222
[name] => Tony
[isselected] => false
[issubtask] => false
)
[2] => Array
(
[id] => 333
[name] => Jack
[isselected] => false
[issubtask] => false
)
[3] => Array
(
[id] => 444
[name] => Nick
[isselected] => false
[issubtask] => false
)
)
All I want to do is check for the matching 'id' in $array2 from $array1 and then replace the 'issubtask' value of $array2 for that 'id' with the value of 'issubtask' in $array1.
I tried this out but the values of $array2 are not changed:
foreach ($array1 as $val1) {
foreach ($array2 as $val2) {
// Checking whether IDs match
if ($val2['id'] == $val1['id']) {
$val2['isselected'] = "true";
$val2['issubtask'] = $value1['issubtask'];
}
}
}
print_r($array2);
I am expecting the below result but I get the $array2 values as it was before.
Result $array2:
Array
(
[0] => Array
(
[id] => 111
[name] => Mark
[isselected] => false
[issubtask] => false
)
[1] => Array
(
[id] => 222
[name] => Tony
[isselected] => true
[issubtask] => true
)
[2] => Array
(
[id] => 333
[name] => Jack
[isselected] => false
[issubtask] => false
)
[3] => Array
(
[id] => 444
[name] => Nick
[isselected] => true
[issubtask] => false
)
)
I am not sure whether I am doing the right way. Any help is much appreciated.
Thank you