首页 > 解决方案 > 为什么 PHP in_array 函数总是返回 true

问题描述

我的in_array功能有问题。

这是我的array: 键可以是字符串或 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"; }

此代码始终打印found

为什么?

标签: phparrays

解决方案


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

尝试像这样启用严格标志in_array('Test', $array, true)以进行严格比较。


推荐阅读