www.adminn.cn
站长正能量分享网!

php判断数组元素中是否存在某个字符串的方法

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

今天在写一个函数的时候,需要用到判断数组中是否存在某个字符串,方便我们继续后面的操作,这里简单为大家介绍下,需要的朋友可以参考下。

方法一:采用in_array(value,array,type)

type 可选。如果设置该参数为 true,则检查搜索的数据与数组的值的类型是否相同。

  1. $arr = array('可以','如何','方法','知道','沒有','不要'); 
  2. //in_array(value,array,type) 
  3. $isin = in_array("如何2",$arr); 
  4. if($isin){ 
  5.     echo "in====".$isin
  6. }else
  7.     echo "out====".$isin

方法二:

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

方法三:

array_search() 函数与 in_array() 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。array_search(value,array,strict),当数据量比较大的时候,用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中第一种和第二种的数据结构类似,都是关联数组。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php判断数组元素中是否存在某个字符串的方法》
文章链接:https://www.adminn.cn/news/8429.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

扫码支付后请联系右侧QQ发送下载地址!!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏