php查找数组中某个元素是否存在的方法

发布时间:2019-09-30编辑:脚本学堂
如何在php数组中查找是否存在某个元素呢?可以考虑使用array_key_exists、in_array、array_search等函数,本文为大家作个简要介绍,感兴趣的朋友可以作个参考。

本节内容:
查找数组中某个元素

php编程中,查找一个元素是否在数组中,可以有三种做法:
in_array  '函数在数组中搜索给定的值。in_array(value,array,type)type 可选。
如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

array_key_exists 'array_key_exists() 函数
判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。

array_search 'array_search() 函数
与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。

说明:
在数据量不大时,比如小于1000,查找用哪一种都行,都不会成为瓶颈;
当数据量比较大时,用array_key_exists比较合适。
当然这里array_key_exists占用的内存比较大,经测算,数组结构是:

array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..)

内存使用比值为1:2;
这个和内部实现有关系,实际上在php中第一种和第二种的数据结构类似,都是关联数组。