php - 为什么 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
。
为什么?
解决方案
因为您true
的数组中有元素,并且您的“测试”字符串的计算结果也为 true。
尝试像这样启用严格标志in_array('Test', $array, true)
以进行严格比较。
推荐阅读
- python - Django获取平均值(字符串)
- html - 标签与复选框重叠
- python - 使用同步 API 包装 websockets asyncio
- android - 混淆整个 React Native 应用程序,包括 JavaScript 代码
- python - 按平均小时数分组
- java - 使用 GenericJackson2JsonRedisSerializer 时未提供有效凭据
- javascript - 闪亮忙时禁用选择输入和菜单
- angularjs - xmlhttp (js) 和 $http (AngularJS) 的区别
- node.js - 需要 JWT expiresIn 字段显示在控制台上
- javascript - 隐藏一个 div 并显示另一个