Beispiel #1
0
 /**
  *
  * @param Scenario_Experiment $experiment
  * @return array 
  */
 private function _treatmentMatrix(Scenario_Experiment $experiment)
 {
     if ($experiment->isMultiVar()) {
         $tmp = array();
         foreach ($experiment->getChildren() as $cxp) {
             /* @var $cxp Scenario_Experiment */
             $tmp[$cxp->getExperimentID()] = array_keys($experiment->getWeightings());
         }
         if (count($tmp) == 0) {
             return array();
         }
         ksort($tmp);
         $out = array();
         foreach ($tmp[0] as $val) {
             $out[] = array($val);
         }
         if (count($tmp) == 1) {
             return $out;
         }
         for ($i = 1; $i < count($order); $i++) {
             $old = $out;
             $out = array();
             foreach ($tmp[$i] as $right) {
                 foreach ($old as $left) {
                     $out[] = array_merge($left, array($right));
                 }
             }
         }
         return $out;
     } else {
         $tmp = array_keys($experiment->getWeightings());
         $out = array();
         foreach ($tmp as $k) {
             $out[] = array($k);
         }
         return $out;
     }
 }