Код: Выделить всё
$saved = array(
array( 'domain' => 'mydomain.com', 'record' => 'A', 'value' => '8.8.8.8' ),
array( 'domain' => 'mydomain.com', 'record' => 'NS', 'value' => 'ns1.mydomain.com' )
);
$new = array(
array( 'domain' => 'mydomain.com', 'record' => 'A', 'value' => '4.4.4.4' ),
array( 'domain' => 'mydomain.com', 'record' => 'NS', 'value' => 'ns1.mydomain.com' ),
array( 'domain' => 'sub.mydomain.com', 'record' => 'A', 'value' => '1.2.3.4' ),
);
Код: Выделить всё
$saved
Код: Выделить всё
$new
Мне нужно каким-то образом возвращать только массивы, значения которых были обновлены или которые еще не существуют/совпадают из $saved.
По сути, возвращаемый массив, который я ищу, будет:
Код: Выделить всё
array(
array( 'domain' => 'mydomain.com', 'record' => 'A', 'value' => '4.4.4.4' )
array( 'domain' => 'sub.mydomain.com', 'record' => 'A', 'value' => '1.2.3.4' ),
);
Используя array_intersect, мне удалось заставить его вернуть массив это имело его значения обновлены, но, к сожалению, они все еще включают совпадающие массивы. Если бы я мог каким-то образом удалить их, это было бы именно тем, что мне нужно.
Вот демо:
http://glot.io/php/529b0c6d2fd16fe221f8 ... 55384Может быть, использовать array_uintersect с обратным вызовом, чтобы проверить, совпадают ли массивы и не установлены ли они?
Подробнее здесь: https://stackoverflow.com/questions/259 ... -2d-arrays