Нашел интересное решение в качестве альтернативы медленному in_array():
Определенно, будет полезно на больших наборах данных или в циклах.
Повторю основной принцип:
Как утверждает автор, такой подход ускоряет работу примерно в 280 раз.
Для малых массивов я бы использовать такой обработчик не стал, но вот в каких-либо импортах или обработках данных самое то.
Определенно, будет полезно на больших наборах данных или в циклах.
Повторю основной принцип:
// Создается новый ассоциативный массив, // где в качестве ключей получается искомое значение foreach(array_values($haystack) as $v) $new_haystack[$v] = 1; // Теперь можно определить вхождение по ключу if(isset($haystack[$needle])) reutrn true; |
Как утверждает автор, такой подход ускоряет работу примерно в 280 раз.
Для малых массивов я бы использовать такой обработчик не стал, но вот в каких-либо импортах или обработках данных самое то.