为什么PHP in_数组函数总是返回true

为什么PHP in_数组函数总是返回true,php,arrays,Php,Arrays,我对in_数组函数有一个问题 这是我的数组:键可以是字符串或int的混合体,如本例所示 <?php $array = array( "a" => true, "b" => true, "c" => true, "d" => true, 0 => "Code", 1 => "Time", 2 => "Other" ); var_dump($array); if ( in_array("Te

我对in_数组函数有一个问题

这是我的数组:键可以是字符串或int的混合体,如本例所示

<?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"; }
始终可以找到此代码打印

为什么?

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

尝试启用数组“Test”中的严格标志,$array,true以进行严格比较。

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

请尝试在_array'Test'、$array、true中启用严格标志,以便进行严格比较