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