2011-08-30 133 views
0

我想弄清楚如何使用算法的輸出作爲findLarge的輸入。 算法產生,我想在findLarge上工作的陣列如何將一種方法的輸出用作另一種方法的輸入?

class CSVParser 
{ 

    public $output = NULL; 
    public $digits = NULL; 
    public $largest = NULL; 

    public function __construct($file) 
    { 


     if (!file_exists($file)) { 
      throw new Exception("$file does not exist"); 
     } 

     $this->contents = file_get_contents($file); 
     $this->output = array(); 
     $this->digits = array(); 
     $this->largest = array(); 
    } 

    public function algorithm() {....} 

    public function findLarge($a) 
    { 
     // just push it back so I know it's working 
     var_export($a); // is NULL 
     $this->largest = $a; // return NULL 
    } 

} 

$parser->algorithm(); 
$parser->findlarge($input); print_r($parser->largest); 
+2

爲什麼不能'$ parser-> findlarge($ parser-> algorithm());'? –

回答

1

它看起來像你只是在尋找:

$parser->findlarge($parser->algorithm()); 

你可能想不過考慮,幾件事情。

  1. PHP已經有str_getcsv
  2. 無論它可能是一個更好的主意爲algorithm調用自身findLarge。看起來這個班有兩個相互衝突的目的。一個是存儲數據,另一個是處理數據。您可能想要考慮具有無狀態的algorithm並具有單獨的DO,或者讓算法修改實例的狀態。
相關問題