判断一个百万级别的数值数组中是否存在对应的值,如题.求教!

解决方案 »

  1.   

    in_array 是顺序查找
    array_keys 是查哈希表
    当然是后者快,但后者不可能有重复值
      

  2.   

    后者可以有重复值的吧,返回一个数组,我做过测试可以有相同的值。你试试,可以的话向官网报bug
      

  3.   

    后者可以有重复值的吧,返回一个数组,我做过测试可以有相同的值。key哪里来的重复值???
      

  4.   

    后者可以有重复值的吧,返回一个数组,我做过测试可以有相同的值。你试试,可以的话向官网报bug
    哈哈哈 你太搞了...
      

  5.   

    后者可以有重复值的吧,返回一个数组,我做过测试可以有相同的值。你试试,可以的话向官网报bug
    这个是真可以的,我昨天刚测试过,这个数组如果不是键值数组的话返回的是数值数组的索引,而且该函数返回的是一个数组,如果不可能又重复值那么只有一个值的话为什么要返回一个数组呢?
      

  6.   

    1楼大神说的是对的
    in_array 是顺序查找
    array_keys 是查哈希表
    当然是后者快,但后者不可能有重复值小菜补充一下,如果数组中有重复的键值,那么按键-值方式取时,得到的是最后的那个键对应的值,但是用array_keys取键时返回的是第一次出现的键。另外,这么大的数据量的话完全可以放在memcache这样的nosql里了,速度够快,对你的需求也完全满足,get一下就知道是否存在了