php 有没有比in_array 效率更快的问题

pooy 发布于 2012/07/24 15:38
阅读 5K+
收藏 0
PHP

今天做一个需求,需要判断几百个账号,假如是这几百个就另作处理。

小弟不才,就用php里面的in_array做判断,后来明显感觉登陆的速度变慢了很多。

有没有更好的解决之道?

 

加载中
0
龙上
龙上

保存到mysql

 

0
richcem404
richcem404
作为index,用isset试试吧。
0
qycms_cn
qycms_cn
你确认是in_array()问题吗?
0
deleted
deleted
几百个帐号能感觉到明显的慢, 那问题八成不在in_array上
0
酒逍遥
酒逍遥

几百帐号  能让你 明显感觉到慢的话 绝对不是 in_array的问题

in_array 判断几个帐号和几百个帐号消耗的时间差绝对是毫秒级的你不可能感觉的出来

0
l
leyaya.cn
刚才查了一下php源代码, php内部是用hashtable来实现array ,在ext/standard/array.c中,php_search_array函数是其具体实现,hashtable的查找是O(1),按理几百账号不会引起明显变慢,考虑一下其它因素吧。
0
mahone
mahone
才几百个就明显感觉慢了啊。。。跟大家观点相同。。。lz再看看。。。
0
mark35
mark35
array_key_exists()
0
曹忠
曹忠
通过一个相当大的数组来对比函数array_key_exists 和in_array 之间的效率

array_key_exists的效率要比in_array的效率好大概一个数量级
0
deleted
deleted
当array是key-value结构的时候, 查key是否存在用array_key_exists 

当array是value list的时候,查value是否存在用in_array

用途完全不同的两函数效率比得没道理啊.....
返回顶部
顶部