How to remove from a multidimensional array all duplicate elements including the original?



PHP Snippet 1:

<?php

$unique_ids = array_count_values(array_column($array,'id'));
$res = array_filter($array, fn($v) => $unique_ids[$v['id']] === 1);
print_r($res);

PHP Snippet 2:

$array = [
    ['id' => 1, 'number' => 12345, 'date' => '2022-05-09'],
    ['id' => 2, 'number' => 123456, 'date' => '2022-05-09'],
    ['id' => 3, 'number' => 123456, 'date' => '2022-05-09'],
    ['id' => 3, 'number' => 123456, 'date' => '2022-05-09'],
    ['id' => 4, 'number' => 123457, 'date' => '2022-05-10'],
    ['id' => 4, 'number' => 123458, 'date' => '2022-05-11'],
    ['id' => 3, 'number' => 123459, 'date' => '2022-05-12']
];

$found = [];
foreach ($array as $index => ['id' => $id]) {
    if (isset($found[$id])) {
        unset($array[$index], $array[$found[$id]]);
    } else {
        $found[$id] = $index;
    }
}
var_export($array);

PHP Snippet 3:

array (
  0 => 
  array (
    'id' => 1,
    'number' => 12345,
    'date' => '2022-05-09',
  ),
  1 => 
  array (
    'id' => 2,
    'number' => 123456,
    'date' => '2022-05-09',
  ),
)