<?php
$desired = array(
array(
'job_service.service_id' => 51000071,
'job_service.site_id' => '100000002',
),
array(
'job_service.service_id' => 51000075,
'job_service.site_id' => '100000002',
),
array(
'job_service.service_id' => 51026110,
'job_service.site_id' => '100000002',
),
);
$existing = array(
array(
'job_service.service_id' => 51026110,
'job_service.site_id' => null,
),
array(
'job_service.service_id' => 51000075,
'job_service.site_id' => null,
),
array(
'job_service.service_id' => 51000071,
'job_service.site_id' => null,
),
);
$new_services = array_udiff($desired_services, $existing_services, function ($left, $right) {
$service_diff = $left[JobServicePeer::SERVICE_ID] - $left[JobServicePeer::SERVICE_ID];
if ($service_diff !== 0) {
return $service_diff;
}
$site_diff = $left[JobServicePeer::SITE_ID] - $left[JobServicePeer::SITE_ID];
return $site_diff;
});
var_dump($desired_services, $existing_services, $new_services);
die();
preferences:
51.83 ms | 402 KiB | 5 Q