删除具有相同数组的数组,以便在php中获得数组的正确性
两个数组之间的相似度计算问题。我想比较两个数组。第一个数组是学生输入,第二个数组是教师输入。 例如,我的两个数组 第一阵列删除具有相同数组的数组,以便在php中获得数组的正确性,php,arrays,Php,Arrays,两个数组之间的相似度计算问题。我想比较两个数组。第一个数组是学生输入,第二个数组是教师输入。 例如,我的两个数组 第一阵列 Array ( [0] => <mo>+</mo><mfrac><mrow> [1] => <mo>+</mo><mn>2</mn><mi>x</mi> [2] => <mo>+</mo>&
Array
(
[0] => <mo>+</mo><mfrac><mrow>
[1] => <mo>+</mo><mn>2</mn><mi>x</mi>
[2] => <mo>+</mo><mn>1</mn></mrow><mrow>
[3] => <mo>+</mo><mi>x</mi>
[4] => <mo>+</mo><mn>2</mn></mrow></mfrac>
[5] => <mo>+</mo><mfrac><mi>x</mi><mn>2</mn></mfrac>
[6] => <mo>-</mo><mfrac><mrow>
[7] => <mo>+</mo><mn>2</mn><mi>x</mi></mrow><mi>x</mi></mfrac>
[8] => <mo>-</mo><mfrac><mrow>
[9] => <mo>-</mo><mn>3</mn>
[10] => <mo>-</mo><mn>1</mn></mrow><mi>x</mi></mfrac>
)
当我注释unset
时,由于重复了2x和-1,总分为1.1818182
。我的目标是当学生的答案与老师匹配时,它将从该数组中删除该答案
我该怎么做?我尝试了array_diff()
,但没有返回总分
提前谢谢。实际上,您可以使用
数组_diff
对于这种情况,它似乎比您想象的要简单:
$studentInput = ['a', 'b', 'c'];
$teacherInput = ['a', 'c', 'c'];
$total = count($studentInput);
$mistake = count(array_diff($studentInput, $teacherInput));
$percentOfMistake = $mistake / $total; //0.33333333333333
$percentOfCorrect = 1 - $percentOfMistake; //0.66666666666667
对不起,我的错,重复了-
<?php
$total = 0;
$total1 = max(count($final),count($final1));
for ($i=0; $i < count($final) ; $i++) {
for ($j=0; $j <count($final1) ; $j++) {
if ($final[$i]==$final1[$j])
{
$total++;
// unset($final[$i]);
}
else
{
// echo $final[$i];
}
}
unset($final[$i]);
}
$finaltotal = ($total / $total1) * 1;
your total mark is : 0.54545454545
$studentInput = ['a', 'b', 'c'];
$teacherInput = ['a', 'c', 'c'];
$total = count($studentInput);
$mistake = count(array_diff($studentInput, $teacherInput));
$percentOfMistake = $mistake / $total; //0.33333333333333
$percentOfCorrect = 1 - $percentOfMistake; //0.66666666666667