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

php in_array函数引发的一些思想

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

今天突然想到php中的in_array函数有个其怪的用法,下面我们来看看这个用法,有需要的朋友简单的参考一下,代码如下:

  1. $a=array("1,2,3","4"); 
  2. if(in_array(1,$a)){ 
  3.  
  4.   echo "条件成立"

这个条件果然是成立的,按照我的思考逻辑上边的那个条件只有在参数1的值为”1,2,3“和为4的时候才成立,但是奇怪的是他居然成立了,战地随即测试了如下情况,代码如下:

  1. $a=array("a,2,3","4"); 
  2.  
  3. if(in_array('a',$a)){ 
  4.  
  5.   echo "条件不成立"
  6.  

这个是不成立的,在第一个测试用例下,如果把参数1写成’1’条件也是不成立的,得出的结论是:

在PHP中如果第一个参数为数字——不加引号的数字啊,第二个数组参数包含有以该数字开头的字符串的话不管第一个参数是否为第二个参数的完整元素,都会返回真值,也就是说,in_array函数并非每次都是按照我的思考逻辑进行整个元素匹配,还是我对数据类型认识的不够清楚呢?

与此同时,还发现如果你的数组的第一个元素为0的时候,也会出现问题,看如下情况,代码如下:

  1. $a=array(0,"m"); 
  2. if(in_array('mc6',$a)) 
  3.  echo "====="
  4. }//开源代码phpfensi.com

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

本站源码仅供本地环境下学习借鉴研究使用!

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

支付宝扫一扫打赏