我有两个关联数组。实际上,两者都是在json解码后获得的。我正在比较两个数组中是否存在相同的数据并获得它们的计数。array_intersect方法给出不正确的结果。计数应该是2,但结果是4。请指出我错的地方。
数组:代码:阵列([question_0] => b[question_1] => b[question_2] => a[question_3] => c)
阵列([question_0] =[question_1] => b[question_2] => b[question_3] => c[question_4] => c)
$temp = '{"question_0": "b",
"question_1": "b",
"question_2": "a",
"question_3": "c"
}';
$a = json_decode($temp,true);
print_r($a);
require_once "classes/config.readonly.php";
$data['token'] = '61db6e01cdd809e65e0490158b569b69';
$sql = "SELECT * FROM quiz_logger where token = " . "'" . $data['token'] . "'" ;
$db->query($sql);
while($row = $result->fetch_object() ){
$answers = $row->data;
}
$ans = json_decode($answers,true);
print_r($ans['data']);
echo count(array_intersect($a, $ans['data']));
array_intersect
只比较值
尝试使用array_intersect_assoc
http://de2.php.net/manual/en/function.array-intersect-assoc.php
echo count(array_intersect_assoc($a, $ans['data']));
array_intersect_assoc
是比较键和值,我认为这是你想要的