php 高效率 数组查找,替换 in_array

原创 wintop  2021-01-03 10:50:50  阅读 2339 次 评论 0 条
摘要:

今天在处理一个1000多个元素的数组,用php in_array 计算,效率很差,循环100万次要几十秒。网上搜了下,有用 array_flip 反转函数,判断数组key 的,通过100万次运算,效果不好,也是几十秒。也有用 implode 拼接成字符串,然后 stripos 查出位置,返回是否包含,效率也是很差,几十秒。下面是我自己写的方法,可替换php的 in_array ,效率提升上百倍:function inArray(string $str,array $

今天在处理一个1000多个元素的数组,用php in_array 计算,效率很差,循环100万次要几十秒。


网上搜了下,有用 array_flip 反转函数,判断数组key 的,通过100万次运算,效果不好,也是几十秒。

也有用 implode 拼接成字符串,然后 stripos 查出位置,返回是否包含,效率也是很差,几十秒。


下面是我自己写的方法,可替换PHP的 in_array ,效率提升上百倍:

function inArray(string $str,array $strArray){
	foreach($strArray as $v){
		if(str_replace($v,$str,'')=='' && strlen($v)==strlen($v)){
			return true;
		}
	}
	return false;
}


本文地址:http://zuoweng.com/post/110.html
版权声明:本文为原创文章,版权归 wintop 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?