Remover ocorrências excedentes de elementos de uma lista

Crie uma função que receba um array $items e um número inteiro $limit. Se um valor ocorrer mais de $limit vezes, omita cada ocorrência excedente e retorne o resultado.

Exemplos

delete_occurrences([1, 1, 1, 1], 2); // [1, 1]
delete_occurrences([13, true, 13, null], 1); // [13, true, null]
delete_occurrences([true, true, true], 3); // [true, true, true]

Observações

  • Não altere a ordem do array original.
  • Os valores podem incluir números inteiros, booleanos, strings e null.
  • Conte as ocorrências considerando tanto o tipo quanto o valor; por exemplo, 0, false e null são valores distintos.