为了账号安全,请及时绑定邮箱和手机立即绑定

如下代码为什么会输出true而不是false?

如下代码为什么会输出true而不是false?

PHP
holdtom 2019-03-13 04:17:11
<?PHP $a = 0; if(in_array($a, array('index', 'post'))){ echo "true"; }else{ echo "false"; } ?>
查看完整描述

2 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

in_array($a, array('index', 'post'),TRUE)

in-array

https://img1.sycdn.imooc.com//5c8f57df0001879808000523.jpg

查看完整回答
反对 回复 2019-03-18
?
跃然一笑

TA贡献1826条经验 获得超6个赞

这边应该是这样。如果不传第三个参数true的话。php会隐式转换。也就是把右边的字符串转成了整形。'index'和'post'转换成整形之后都是0.所以判断0在其中。如果你把index和post前边都加上数字。比如变成['111index','2222post'].结果就是false了。

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 410 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信