【问题标题】:php inarray returns TRUE for the value ZEROphp in_array 为值零返回 TRUE
【发布时间】:2015-02-02 07:00:00
【问题描述】:

我正在尝试使用in_array function,如果值为零,则返回 TRUE。 var_dump 也返回 bool TRUE

$srcElement=0;
var_dump(in_array($srcElement,array('HA','DA','SA','CA')));
if (in_array($srcElement,array('HA','DA','SA','CA')))
{
    echo "VALUE EXISTS";
}
else
{
 echo "VALUE NOT FOUND";   
}

并获得输出为

bool(true) VALUE EXISTS

ZERO 的情况下,如果我使用任何其他整数,它会返回 ELSE PART。 这背后有什么具体原因吗?

【问题讨论】:

  • var_dump(0 == 'HA'); 然后检查in_array的第三个参数
  • strict 参数用于in_array
  • 另请参阅第一个示例并在您在问题中引用我们的手册页上发表评论
  • 试试$srcElement='0';
  • 陷阱 :( 我错过了那个参数..

标签: php


【解决方案1】:

在进行比较时有类型转换。尝试严格比较。

in_array($srcElement,array('HA','DA','SA','CA'),true);

var_dump(in_array($srcElement,array('HA','DA','SA','CA')));

将打印false

【讨论】:

    猜你喜欢
    • 2018-01-04
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 2013-05-23
    • 1970-01-01
    • 2015-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多