比较两个基于键值的数组

Stu*_*ett 2 php arrays

我正在研究测验引擎并且正在比较答案.

我有两个数组

正确答案 :

 0 => "a"
 1 => "a"
 2 => "a"
 3 => "c"
Run Code Online (Sandbox Code Playgroud)

选择答案......

 0 => "c"
 1 => "b"
 2 => "a"
 3 => "b"
Run Code Online (Sandbox Code Playgroud)

基于此,我知道(从比较自己)我有1个正确的答案.

是否有一个PHP函数可以比较键和值并增加一些类似的?

我看过array_intersect和array_difference,但它们似乎没有给我想要的答案.

谢谢

Rom*_*est 5

使用array_intersect_uassoc函数的简短解决方案(在扩展输入数组上):

$correct = ["a", "a", "a", "c", "a", "c"];
$chosen =  ["c", "b", "a", "b", "a", "b"];

$result = array_intersect_uassoc($correct, $chosen, 'strnatcmp');
print_r($result);
Run Code Online (Sandbox Code Playgroud)

输出:

Array
(
    [2] => a
    [4] => a
)
Run Code Online (Sandbox Code Playgroud)