Estoy seguro de que esta es una pregunta extremadamente obvia, y que hay una función que hace exactamente esto, pero parece que no puedo encontrarlo. En PHP, me gustaría saber si mi matriz tiene duplicados, lo más eficientemente posible. No quiero eliminarlos como array_unique
, y no quiero particularmente ejecutar array_unique
y compararlo con la matriz original para ver si son iguales, ya que esto parece muy ineficiente. En lo que respecta al rendimiento, la "condición esperada" es que la matriz no tenga duplicados.php: comprueba si una matriz tiene duplicados
sólo me gustaría ser capaz de hacer algo como
if (no_dupes($array))
// this deals with arrays without duplicates
else
// this deals with arrays with duplicates
¿Hay alguna función obvia que no estoy pensando?
How to detect duplicate values in PHP array?
tiene el título correcto, y es una pregunta muy similar, sin embargo, si realmente lees la pregunta, está buscando los valores de la cuenta de la matriz.
¿Desea saber si hay duplicados o la cantidad y el valor de dichos duplicados, etc.? –
Solo necesito saber si hay duplicados. Devolver un booleano es perfecto. – Mala
Honestamente, creo que 'if (count ($ array) == count (array_unique ($ array)))' es lo mejor que puedes obtener. Tienes que recorrer la matriz de una forma u otra y creo que el built-in está optimizado para eso. 'array_flip' podría considerarse también. –