in_array()
函数在 PHP 中用于检查一个数组中是否存在指定的值。如果你遇到 in_array()
返回 false,可能有以下几种原因:
in_array()
默认使用松散比较(loose comparison),这意味着它可能会将不同类型的值视为相等。例如,字符串 ‘1’ 和整数 1 被认为是相等的。如果你想进行严格比较(strict comparison),请将第三个参数设置为 true。例如:in_array($needle, $haystack, true)
。trim()
函数删除字符串两侧的空白字符。in_array()
默认是区分大小写的。如果你希望进行不区分大小写的比较,请先将数组和查找值转换为小写(或大写)再进行比较。例如:in_array(strtolower($needle), array_map('strtolower', $haystack))
。请检查上述原因,并根据需要调整代码以解决问题。