扫码关注官方订阅号
echo in_array('01',array('1'))
在使用in_array不采用strict时,为什么返回1,怎么判断的?
in_array($needle, $haystack) — 检查数组中是否存在某个值
你可以理解为依次取数组中的值,然后跟 $needle 做比较。如果 == 判断成立则返回 true.类似伪代码:
function in_array($needle, $haystack) { foreach($haystack as $val) { if ($val == $needle) { return true; } } return false; }
注意:在 PHP 中 == 同 === 的差别。
var_dump(("01" == 1)); var_dump((" 1 " == 1));
然后你就明白了
补充一下:
就楼主问题来说, in_array 判断 字符串和数字是否相等时对输入的字符串 “01” 进行了取值。详细情况可以参见: PHP类型比较表 - PHP官方网站 php.net
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
in_array($needle, $haystack) — 检查数组中是否存在某个值
你可以理解为依次取数组中的值,然后跟 $needle 做比较。如果 == 判断成立则返回 true.类似伪代码:
注意:在 PHP 中 == 同 === 的差别。
然后你就明白了
补充一下:
就楼主问题来说, in_array 判断 字符串和数字是否相等时对输入的字符串 “01” 进行了取值。详细情况可以参见: PHP类型比较表 - PHP官方网站 php.net