Оптимизация функции.

grin

Guest
Оптимизация функции.

есть класс, в нем есть функция:
PHP:
function ArraySearch($str, $array) {
	reset($array);
	while (list($key, $val) = each($array)) {
		if($str == $val || str_replace(" ", "", $str) == $val || eregi("^".addcslashes($str, '-.*+')."$", $val))
			return $key;
	}
	return false;
}
из-за нее время работы скрипта увеличиваеца вдвое, как-нить можно это дело оптимизировать?
 

IntenT

SkyDiver
Как мне кажется самая медленная здесь часть - eregi("^".addcslashes($str, '-.*+')."$", $val)

Может есть смысл пересмотреть моменты, где вызывается эта функция?

Или попробовать использовать
mixed array_search (mixed needle, array haystack [, bool strict])
 
Сверху