$globalJobs = [
['job' => 1, 'dueDate' => 111],
['job' => 2, 'dueDate' => 222]
];
$localJobs = [
['job' => 1, 'dueDate' => 333]
];
workMagic($globalJobs,$localJobs);
function workMagic($globalJobs,$localJobs){
foreach ($globalJobs as $k => $v) {
if (!updatejob($v, $localJobs)){ // couldn't find it
array_push($localJobs, $v); // add to local
};
};
var_dump($localJobs[0]);
};
function updateJob($job,$localJobs){
foreach ($localJobs as $k => &$v) {
if ($v['job'] === $job['job']) { // if job already exists in local
if ($v['dueDate'] !== $job['dueDate']){ // and dates don't match
$v['dueDate'] = $job['dueDate']; // then update local
var_dump($localJobs[0]);
return true;
};
};
};
return null; // couldn't find it
};