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


PHP Matrix::setDimension方法代碼示例

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


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

示例1: testCompute

 public function testCompute()
 {
     $matrix = new Matrix();
     $matrix->setDimension('a', array(1, 2, 3));
     $matrix->setDimension('b', array(1, 2, 3));
     $matrix->setDimension('c', array(1, 2, 3));
     $possibilities = $matrix->compute();
     $expected = array(array('a' => 1, 'b' => 1, 'c' => 1), array('a' => 1, 'b' => 1, 'c' => 2), array('a' => 1, 'b' => 1, 'c' => 3), array('a' => 1, 'b' => 2, 'c' => 1), array('a' => 1, 'b' => 2, 'c' => 2), array('a' => 1, 'b' => 2, 'c' => 3), array('a' => 1, 'b' => 3, 'c' => 1), array('a' => 1, 'b' => 3, 'c' => 2), array('a' => 1, 'b' => 3, 'c' => 3), array('a' => 2, 'b' => 1, 'c' => 1), array('a' => 2, 'b' => 1, 'c' => 2), array('a' => 2, 'b' => 1, 'c' => 3), array('a' => 2, 'b' => 2, 'c' => 1), array('a' => 2, 'b' => 2, 'c' => 2), array('a' => 2, 'b' => 2, 'c' => 3), array('a' => 2, 'b' => 3, 'c' => 1), array('a' => 2, 'b' => 3, 'c' => 2), array('a' => 2, 'b' => 3, 'c' => 3), array('a' => 3, 'b' => 1, 'c' => 1), array('a' => 3, 'b' => 1, 'c' => 2), array('a' => 3, 'b' => 1, 'c' => 3), array('a' => 3, 'b' => 2, 'c' => 1), array('a' => 3, 'b' => 2, 'c' => 2), array('a' => 3, 'b' => 2, 'c' => 3), array('a' => 3, 'b' => 3, 'c' => 1), array('a' => 3, 'b' => 3, 'c' => 2), array('a' => 3, 'b' => 3, 'c' => 3));
     $this->assertCount(count($expected), $possibilities);
     foreach ($expected as $value) {
         $this->assertContains($value, $possibilities);
     }
 }
開發者ID:beberlei,項目名稱:JoliCi,代碼行數:13,代碼來源:MatrixTest.php

示例2: compute

 /**
  * Return all possibility for the matrix
  *
  * @return array
  */
 public function compute()
 {
     $dimensions = $this->dimensions;
     if (empty($dimensions)) {
         return array();
     }
     // Pop first dimension
     $values = reset($dimensions);
     $name = key($dimensions);
     unset($dimensions[$name]);
     // Create all possiblites for the first dimension
     $posibilities = array();
     foreach ($values as $v) {
         $posibilities[] = array($name => $v);
     }
     // If only one dimension return simple all the possibilites created (break point of recursivity)
     if (empty($dimensions)) {
         return $posibilities;
     }
     // If not create a new matrix with remaining dimension
     $matrix = new Matrix();
     foreach ($dimensions as $name => $values) {
         $matrix->setDimension($name, $values);
     }
     $result = $matrix->compute();
     $newResult = array();
     foreach ($result as $value) {
         foreach ($posibilities as $possiblity) {
             $newResult[] = $value + $possiblity;
         }
     }
     return $newResult;
 }
開發者ID:Chris7,項目名稱:JoliCi,代碼行數:38,代碼來源:Matrix.php


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