當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Criterion::collect方法代碼示例

本文整理匯總了PHP中Criterion::collect方法的典型用法代碼示例。如果您正苦於以下問題:PHP Criterion::collect方法的具體用法?PHP Criterion::collect怎麽用?PHP Criterion::collect使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Criterion的用法示例。


在下文中一共展示了Criterion::collect方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: getEvaluation

 public function getEvaluation($evaluation, $course = "*")
 {
     $reviewed = $this->student->context->find($evaluation);
     $total = $reviewed->count();
     $average = 1 / ($total ?: 1);
     $accumulator = 0;
     $collect = Criterion::collect(function ($criterion, $index) use($evaluation, $total, $reviewed, $average, &$accumulator) {
         $map = [$evaluation => Data::FACTORY($evaluation, $reviewed->pick($index))->loadCriterion($criterion), 'schedule' => $this->student->section->schedule[$criterion['@assigned'] ?: $index], 'due' => $this->student->section->schedule[$criterion['@due'] ?: $index]];
         $score = $map[$evaluation]->score;
         if (($evaluation === 'quiz' || $evaluation === 'project') && $total > $criterion['@index']) {
             $stats = $this->collective($this->student->section, $criterion);
             if ($score > 0 && $stats['sd'] > 0) {
                 $z = ($score - $stats['mean']) / $stats['sd'];
                 $score = round($stats['wmean'] + $z * $stats['sd'], 2);
             }
             $stats['standard'] = $score * 100;
             $map['stats'] = $stats;
         }
         $accumulator = $accumulator + $score * $average;
         return $map;
     }, "[@type='{$evaluation}' and @course = '{$course}']");
     $weight = Assessment::$weight[$evaluation];
     return new \bloc\types\dictionary(['list' => iterator_to_array($collect, false), 'score' => $average === 1 && $total == 0 ? $weight : max(0, round($accumulator * $weight, 1)), 'weight' => $weight]);
 }
開發者ID:brendanmetzger,項目名稱:ledger,代碼行數:24,代碼來源:assessment.php


注:本文中的Criterion::collect方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。