Пример #1
0
 function is_acceptable($input)
 {
     foreach ($this->get_acceptable() as $value) {
         if (!$score and compare_strings($input, $value, $flags)) {
             return TRUE;
         }
     }
     return FALSE;
 }
Пример #2
0
if (!$answer) {
    exit("no answer supplied");
}
if (array_key_exists("correct", $values) and is_array($values["correct"]) and array_key_exists("expr", $values) and is_string($values["expr"])) {
    $value = compare_syntax3($values["expr"], $answer, nano_dfdict(), true);
    if ($value === null) {
        echo "false";
    } else {
        echo "true";
    }
} else {
    if (array_key_exists("correct", $values) and array_key_exists("acceptable", $values) and is_array($values["correct"]) and is_array($values["acceptable"])) {
        $also = $values["correct"];
        $correct = $values["correct"];
        $values = $values["acceptable"];
    } else {
        $correct = $also = $values;
    }
    $score = FALSE;
    foreach ($values as $value) {
        if (!$score and compare_strings($answer, $value, $flags)) {
            $score = TRUE;
            break;
        }
    }
    if ($score) {
        echo "true";
    } else {
        echo "false";
    }
}
Пример #3
0
        if (array_key_exists("correct", $values) and array_key_exists("acceptable", $values) and is_array($values["correct"]) and is_array($values["acceptable"])) {
            $also = $values["correct"];
            $correct = $values["correct"];
            $values = $values["acceptable"];
        } else {
            $correct = $also = $values;
        }
        $score = FALSE;
        #error_log($answer2);
        foreach ($values as $value) {
            #error_log($_val);
            if (!$score and compare_strings($answer, $value, $flags)) {
                $score = TRUE;
                $_also = $also;
                foreach ($_also as $key => $v2) {
                    if (compare_strings($value, $v2, $flags)) {
                        unset($also[$key]);
                    }
                }
                break;
            }
        }
    }
    $result[$name] = array_merge([$score, $score ? $value : $answer], array_values($score ? $also : $correct));
    $out_of += 1;
    if ($score) {
        $subscore += 1;
    }
}
$result["subscore"] = $subscore;
$result["out_of"] = $out_of;