我想从JSON附带的数据中进行比较。这就是我为它写的。$packages[0][0] = "5678"; // on the way$packages[0][1] = "3098"; // checkpoint$packages[0][2] = "4331"; // acceptif (array_key_exists($packages[0][2], $data[6])) { $packageID= 1;} else if (array_key_exists($packages[0][1], $data[6]) == true) { $packageID= 5; } else if (array_key_exists($packages[0][0], $data[6]) == true) { $packageID= 10; } else { $packageID=0;}例如 JSON:* Array ( [0] => xxx [1] => yyy [2] => xxx [3] => yyy [4] => xxx [5] => yyy [6] => Array ( [0] => 1234 [1] => 5678 [2] => 9012 ) )PackageID总是出来0。可能是什么原因?
1 回答

慕森卡
TA贡献1806条经验 获得超8个赞
您正在使用array_key_exists(),但您应该使用in_array(). 您正在搜索的值是元素,而不是键。
$packages[0][0] = "5678"; // on the way
$packages[0][1] = "3098"; // checkpoint
$packages[0][2] = "4331"; // accept
if (in_array($packages[0][2], $data[6])) {
$packageID= 1;
} else if (in_array($packages[0][1], $data[6]) == true) {
$packageID= 5;
} else if (in_array($packages[0][0], $data[6]) == true) {
$packageID= 10;
} else {
$packageID=0;
}
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消