in_array()函数的小坑...

时间:2019-08-28 09:36:40

先来看例子吧。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<?php

$arr = [1,2,3,4,5,6,7];

var_dump(in_array(1,$arr));

var_dump(in_array('1',$arr));

var_dump(in_array('1a',$arr));

var_dump(in_array('11',$arr));

echo '-------------------------------------'.PHP_EOL;

$arr2 = [1,11,12,111,'a1'];

var_dump(in_array('f111',$arr2));

var_dump(in_array('1,11',$arr2));//尴尬了。。

var_dump(in_array('1-11',$arr2));//尴尬了。。

var_dump(in_array('a1',$arr2));

echo '-------------------------------------'.PHP_EOL;

var_dump(in_array(0,[0]));

var_dump(in_array('0',[0]));

var_dump(in_array('',[0]));

var_dump(in_array(null,[0]));

图片.png

接着看

1

2

3

4

5

6

7

8

9

10

11

12

13

echo in_array(''array(0)) ? 1 : 0;   // 结果:1

echo in_array(null, array(0)) ? 1 : 0;  // 结果:1

echo in_array(false, array(0)) ? 1 : 0; // 结果:1

//-------------------------------------

//in_array支持第三个参数,强制对数据类型检测

echo in_array(''array(0), true) ? 1 : 0;   // 结果:0

echo in_array(null, array(0), true) ? 1 : 0;  // 结果:0

echo in_array(false, array(0), true) ? 1 : 0; // 结果:0

echo in_array(''array('0'), true) ? 1 : 0;   // 结果:0

echo in_array(null, array('0'), true) ? 1 : 0;  // 结果:0

echo in_array(false, array('0'), true) ? 1 : 0; // 结果:0

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值