Non puoi controllare direttamente i dati provenienti dal form ed eseguire le operazioni sull'array solo se non ci sono dati che generano chiavi uguali?
Spiega bene come deve funzionare questa cosa che hai in mente: un esempio di dati in arrivo dal form?
Ricorda che in un array non possono esserci chiavi uguali, in caso di chiavi uguali, viene sovascritto il vecchio dato con il nuovo, non viene aggiunta una chiave uguale ad una già esistente.