Одно можно сказать наверняка, функция in_array PHP медленно, слишком медленно.
Существует альтернатива исследования, является ли элемент в массиве называется "двоичного поиска", который, кстати, на каком языке вы используете, идеи те же. Концепция проста, видеть, если предмет находится в середине массива, если нет, то сократить его вдвое, посмотреть, если это половина, если не сократить половину вдвое, до бесконечности, или до последнего.
Представьте, что вам придется искать имя "Хулио Нобрега" в телефонной книге. Перейдите к пункту пункт и посмотреть, если каждый член равносильно безумию. Ну, откройте список в середине и увидеть название, если он Хулио Нобрега, без промедления. Если нет, то имя, которое находится в середине, выше или ниже, чем наше слово? Если он больше, перерыв в два раза список и посмотрите на первую часть. Мы устраняем 50% от того, где мы ищем в оснастке. Повторите это, и пространство поиска уменьшается до всего около поиска. Намного лучше, чем один на один.
Там идет функции:
Использование совсем несложно: