У меня есть две матрицы $ array1 и $ array2 с данными, как показывают:Замена значения одного массива со значением другого
$ 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
)
)
Все, что я хочу сделать, это проверить соответствие «id» в $ array2 из $ array1, а затем заменить значение «issubtask» для $ array2 для этого «id» со значением «issubtask» в $ array1.
Я попытался это, но значения $ array2 не изменились:
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);
Я ожидаю ниже результата, но я получаю значения $ array2, как это было раньше.
Результат $ 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
)
)
Я не уверен ли я делаю правильно. Буду признателен за любую оказанную помощь.
Спасибо
я ценю ваш описательный ответ .. спасибо @Pierre :) – Harshrossi