2自定义PHPin_array功能解决了大数据量的判断in_array效率

但如果阵列较大,性能就会下降,操作也会更长。如果我们想在大数组的情况下优化它,以下两种方法是通过自定义函数实现的。

1。数组的键和值的翻转通过设置确定数组中存在的关键
复制代码代码如下所示:

* in_array太慢阵时大
* /
公共静态函数内部数组($项的数组){
fliparray美元= array_flip(数组);
返回时,($ fliparray { $项});
}
你可能会问为什么你不使用array_key_exists判断时,两使用下面,看看之间的对比array_key_exists isset()和():
Isset()不会返回true的空数组中的值,并将array_key_exists()。
复制代码代码如下:< PHP
search_array美元=阵列('all' = null,第二' = 4);

返回 / false
isset($ search_array { 'all' });

返回
array_key_exists('all',search_array美元);
>
2。随着爆炸和法官直接用strpos连接

它是由爆炸功能+逗号连接,直接用strpos判断。在PHP中,字符串的速度是非常快的,尤其是在数据量大的情况。但是,需要注意的是第一个和最后应该说,这是更严格的。如:,user1 user2 user3,,,查,查,user1,。有strpos!= false,因为第一个返回0。示例如下:
将代码复制如下:
* in_array太慢阵时大
* /
公共静态函数内部数组($项的数组){
$str =崩溃(',',数组);
$str = ',' $结构';';
美元= ',' $项目'。;;
返回false!= = strpos($项,$str)真的假的;
}