Prima di tutto grazie della risposta, anche se non risolve il problema. Come ho scritto nel primo messaggio php sosituisce la prima chiave con una seconda se la trova. Ad es.
Codice PHP:
$ads = array("1" => 0"1" => 1);
print_r($ads); //Risultato Array ( [1] => 1 ) 
Quindi array_key_exists() non serve in quanto mi dice solo che una chiave esiste (e questo lo sò già XD) invece ciò che mi serve sapere è se la chiave è stata usata due o più volte.

Mentre array_unique() non mi serve in quanto non sono i valori che mi interessano ma solo le chiavi.

Edit: Ah ovviamente mi andrebbe bene anche un warning o notice in compilazione se fosse possibile!