php - 在 PHP 中比较数组中的值的最有效方法

标签 php arrays comparison

我想使用 PHP 来对测验进行评分。我有一个测验,提交后会提供一系列答案。它们都是 True/False 所以数组类似于

array([0] => T, [1] => F, [2] => F)

然后我就有了一个答案,比如

array([0] => T, [1] => F, [2] => T)

我需要检查每个答案,这样我不仅可以计算正确的百分比,而且当且仅当错过的问题数量少于 20% 时,才能显示错过的问题的正确答案。

所以我的问题是,我应该做某种 foreach 循环来遍历每个循环,还是使用某种数组比较函数会更整洁,如果是的话,哪个?

最佳答案

使用foreach():

$answer   = array(true, true, false, true, false);
$expected = array(true, true, true,  true, false);
$error    = array();

foreach ($answer as $k => $v) {
  if ($v !== $expected[$k])
    $error[$k] = $v;
}

// Display the correct answer if number of mistakes is <= 20%
if (floatval(count($error) / count($expected)) <= .2) {
  $correct = array_intersect_key($expected, $error);
}

关于php - 在 PHP 中比较数组中的值的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851957/

相关文章:

javascript - 在 Oracle 数据库中插入 Signature-Pad

php - Laravel - 按条目数量排序

php - 提交表单时文件输入抛出错误

php - 如果在数组内,则使用 PHP 并将 value+1 增加到限制

java - 确定两个 Java 对象是否属于同一类

python - 使用可修改符号进行比较(python)

python - (Python)如何旋转图像以使特征变为垂直?

javascript - 访问多个参数

c - 从尾部删除时将元素添加到数组的头部

image - 如何知道图像是否与另一个图像相似(角度略有不同但视角相同)