Как выводить только уникальные строки массива?
array_unique — Убирает повторяющиеся значения из массива.
Лучше сразу ставить ID как ключ, тогда ничего не нужно будет делать и скрипт меньше съест памяти.
Пример:$res1 = array("ID" => 1, "NAME" => "1");
$res2 = array("ID" => 1, "NAME" => "2");
$array[$res1["ID"]] = $res1;
$array[$res2["ID"]] = $res2;
В итоге в $array будет только $res2
$ids = array_unique(array_column($data, 'ID']);
Если нужно отфильтровать коллекцию$data = array_values(array_reduce($data, function ($result, $item) {
    $result[$item['ID']] = $item;
    return $result;
}, []));