php中查找数组中是否存在某个元素
2013-11-14 17:15
447 查看
查找一个元素是否在数组中,一共有上面三种做法:
in_array '函数在数组中搜索给定的值。in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array)
array_search 'array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict)
从这里来看,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为瓶颈;
当数据量比较大的时候,用array_key_exists比较合适。
当然这里array_key_exists占用的内存比较大,经测算
数组结构是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..)
他们内存使用比值为1:2;
这个和内部实现有关系,实际上在php中第一种和第二种的数据结构类似,都是关联数组。
in_array '函数在数组中搜索给定的值。in_array(value,array,type)type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。
array_key_exists 'array_key_exists() 函数判断某个数组中是否存在指定的 key,如果该 key 存在,则返回 true,否则返回 false。array_key_exists(key,array)
array_search 'array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict)
从这里来看,在数据量不大的时候,比如小于1000,查找用哪一种都行,都不会成为瓶颈;
当数据量比较大的时候,用array_key_exists比较合适。
当然这里array_key_exists占用的内存比较大,经测算
数组结构是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..)
他们内存使用比值为1:2;
这个和内部实现有关系,实际上在php中第一种和第二种的数据结构类似,都是关联数组。
相关文章推荐
- php 查找数组中是否存在某个元素或者key
- php数组函数序列之in_array() 查找数组值是否存在
- PHP中多维数组查找某个值是否存在的方法
- PHP检查一个数组内是否存在指定元素in_array
- php查找某个值是否存在于多维数组中
- php数组函数序列之array_key_exists() - 查找数组键名是否存在
- PHP搜索数组中是否存在指定的元素
- php 查找数组中是否存在某项,并返回指定的字符串,可用于检查复选,单选等
- php数组函数序列之in_array() - 查找数组中是否存在指定值
- 关于一个查找数组中是否存在某一个元素的问题
- php在数组中查找key或value是否存在
- 解析php二分法查找数组是否包含某一元素
- php数组函数序列之in_array() - 查找数组中是否存在指定值
- indexOf() 如何判断一个元素在指定数组中是否存在? 找出指定元素出现的所有位置? indexOf()方法 是正序查找,lastIndexOf()是倒叙查找
- php数组学习之in_array() 函数查找数组中是否存在某个值
- php查找一个元素或字符串是否在数组中的三种做法
- 关于查找数组中是否存在重复元素的方法总结(Find A Duplicate)
- 解析php二分法查找数组是否包含某一元素