php – in_array()总是返回TRUE

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – in_array()总是返回TRUE脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题在这里已经有一个答案:> PHP in_array() / array_search() odd behaviour2
$arrValue = array('First','second');
$ret = in_array(0,$arrValue);
var_dump($ret);
VAR_dump($arrValue);

以上示例给出以下结果:

bool(true)
array(2) {
  [0]=> string(5) "first"
  [1]=> string(6) "second"
}

为什么in_array()匹配针0到任何给定的干草堆?

@H_403_9@
@H_403_9@
这是因为该功能使用了非严格的比较.数组中的字符串与整数0进行比较.某些类型转换正在发生数据丢失,并且都被视为相同:
var_dump(0 == 'first'); //  bool(true)

所以解决这个问题,可以使用第三个参数设置为true来请求严格的比较.

$ret = in_array(0,$arrValue,true);

牢记,严格严格.在严格的比较中,0不等于“0”.

文件http://nl3.php.net/in_array

@H_403_9@
本图文内容来网友网络收集整理提供,作为学习参考使用,版权属于原作者。

脚本宝典总结

以上是脚本宝典为你收集整理的php – in_array()总是返回TRUE全部内容,希望文章能够帮你解决php – in_array()总是返回TRUE所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。