php - PHP in_array() 总是返回 false
问题描述
我正在尝试检查一个值是否在数组中,但它总是返回 false。我已经尝试了很多不同的方法来解决这个问题,但都没有奏效。
我有这个文件,我用来require_once '../path/';
将它添加到我当前的脚本中。它是一个转换为 PHP 嵌套数组的 JSON。
这是始终返回的函数false
。我用数组做了很多测试echo
,一切看起来都很好。$states_json
$cities
如果有人可以帮助我解决这种情况,我将不胜感激。
编辑:我正在调用这个函数,validateInstCity("RS", "Porto Alegre")
所以它应该返回true
。经过更多测试,我发现问题出$states_json
在NULL
函数内部。奇怪的是我之前在其他函数中使用它没有任何问题。正如您在文件中看到的那样,使用validateInstCity("RS", "Porto Alegre")
$idx 时应该是22
并且函数应该返回true
。
function validateInstCity($inst_province = null, $inst_city = null) {
if (empty($inst_province) ||
empty($inst_city)) {
}
$idx;
for ($i=0; $i < count($states_json); $i++) {
if ($states_json[$i]['sigla'] == $inst_province) {
$idx = $i;
break;
}
}
$cities= array();
for ($i=0; $i < count($states_json[$idx]['cidades']); $i++) {
array_push($cities, $states_json[$idx]['cidades'][$i]);
}
if (in_array($inst_city, $cities, false)) {
return true;
} else {
return false;
}
}
解决方案
推荐阅读
- google-chrome - 如何使用 google chrome for JMeter 在网站中查找参数(变量)
- javascript - Moment.Js 显示日期的混乱
- python - FuncAnimation 只返回一帧
- elasticsearch - Elasticsearch 自动完成拼写错误
- java - 表 2 和表 1 数据 SQLite Android Studio
- python - 如何验证 Breusch-Pagan 统计检验的值?
- python - 如何使用 Facebook 等 AdSense 替代方案通过我的 Kivy 应用获利?
- firebase-realtime-database - Firebase - 删除 FireAdmin 面板
- javascript - 在 JS OOP 中创建一个类
- mysql - 如何在 Vue.js 中使用 mysql 路径显示来自本地服务器的图像