PHP Pregunta de rendimiento: ¿Es más rápido dejar duplicados en la matriz que se buscará o hacer array_unique?

Tengo un código que agrega valores a una matriz. La matriz se busca más tarde en otra parte de mi código. Los valores que se agregan a la matriz no son necesariamente únicos, por lo que es posible terminar con valores duplicados en la matriz que se busca. Técnicamente hablando, incluso con los duplicados presentes en la matriz que se está buscando, mi código funciona bien y podré encontrar el valor. Solo quiero saber si el valor está en la matriz que se está buscando, y no me importa si está en la matriz 1 vez o 10,000 veces.

Mi pregunta es si es preferible (por motivos de rendimiento y / o estilo) hacer array_unique () en mi matriz que se busca antes de realizar la búsqueda.

Entonces, por ejemplo, supongamos que quiero buscar una matriz como esta:

$searchMe = Array("dog", "cat", "mouse", "dog", "dog", "dog");

Note que "perro" está presente 4 veces. Si quiero buscar el valor "perro", en esa matriz, funcionará bien y podré decir que está presente. Como se mencionó anteriormente, no me importa cuántas veces está presente, solo quiero saber si está presente en absoluto.

Entonces debería hacer esto primero antes de buscar y luego buscar contra la matriz deduplicada?

$searchMe_cleaned = array_unique($searchMe);

Es decir, ¿será más rápido que solo buscar en la matriz con los duplicados?

Recuerde que, aunque en este ejemplo, la matriz que se busca solo tiene algunos elementos, la matriz real que se busca podría tener cientos o miles de elementos.

¡Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta