PHP in_array()忽略第一个参数中的前导0(零)[重复]

Posted

技术标签:

【中文标题】PHP in_array()忽略第一个参数中的前导0(零)[重复]【英文标题】:PHP in_array() Ignoring leading 0 (zero) in the first parameter [duplicate] 【发布时间】:2022-01-18 12:19:49 【问题描述】:
$array_list = ['125268', '526985', '8566958'];

in_array('125268', $array_list); //Returning True

in_array('0125268', $array_list); // Also Returning True

我希望第二个应该返回 false,因为它的开头为零。但是 in_array() 忽略了零。

有什么建议吗?

【问题讨论】:

php.net/manual/en/function.in-array.php设置in_array的第三个参数为true 【参考方案1】:

您必须设置第三个参数。这是一个可选参数,是布尔类型。此参数指定我们要执行搜索的模式。如果设置为 TRUE,则 in_array() 函数将搜索与第一个参数指定的值类型相同的值。此参数的默认值为 FALSE。

$array_list = ['125268', '526985', '8566958'];

in_array('125268', $array_list, true); // Returning True

in_array('0125268', $array_list, true); // Returning False

访问here了解更多信息。

【讨论】:

当您在 2021 年看到一个简单的问题时,您可以确定它已经在 Stack Overflow 上被多次询问和回答。请关闭重复的问题而不是回答它们。

以上是关于PHP in_array()忽略第一个参数中的前导0(零)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何把in_array 的第三个参数strict设置为 true

PHP如何检查一个数组内是不是存在指定元素

php查找数组元素,提速

php注意事项

PHP 警告:in_array() 期望参数 2 是数组,字符串在

php判断数组元素是不是存在