为什么PHP in_array函数总是返回true

时间:2018-07-10 10:35:10

标签: php arrays

我对in_array函数有疑问。

这是我的array:像这样的例子,键可以是字符串或整数的组合。

<?php

$array = array(
    "a" => true,
    "b" => true,
    "c" => true,
    "d" => true,
    0 => "Code",
    1 => "Time",
    2 => "Other"
);

var_dump($array);

if ( in_array("Test", $array) ) { echo "found"; }

此代码始终打印found

为什么?

1 个答案:

答案 0 :(得分:8)

因为数组中有true个元素,并且“测试”字符串的计算结果也为true。

尝试启用类似in_array('Test', $array, true)的严格标志以进行严格比较。