2010-11-01 24 views
0

以下函數來自名爲File_CSV_DataSource的PEAR腳本,並且是一個CSV分析器。如何修改File_CSV_DataSource某些函數的輸出?

CSV文件是這樣的:
姓名,年齡,技能
約翰,13,知道魔術
田中,8,做壽司
何塞,5,舞蹈莎莎

這樣做的電流輸出功能是這樣的:

array (0 => array ('name' => 'john','age' => '13','skill' => 'knows magic',),1 =>array('name' => 'tanaka','age' => '8','skill' => 'makes sushi',),2 =>array ('name' => 'jose','age' => '5','skill' => 'dances salsa',),) 

我想要做到的,是讓函數輸出是這樣的:

array (array ('john','13','knows magic'), array('tanaka','8','makes sushi'), array ('jose','5','dances salsa'),) 

所以沒有0 =>和沒有列標題=>,只有細胞

的值是否有任何方式對我來說,修改函數波紋管,使其輸出在我上面的例子中?

public function connect($columns = array()) 
{ 
    if (!$this->isSymmetric()) { 
     return array(); 
    } 
    if (!is_array($columns)) { 
     return array(); 
    } 
    if ($columns === array()) { 
     $columns = $this->headers; 
    } 

    $ret_arr = array(); 

    foreach ($this->rows as $record) { 
     $item_array = array(); 
     foreach ($record as $column => $value) { 
      $header = $this->headers[$column]; 
      if (in_array($header, $columns)) { 
       $item_array[$header] = $value; 
      } 
     } 

     // do not append empty results 
     if ($item_array !== array()) { 
      array_push($ret_arr, $item_array); 
     } 
    } 

    return $ret_arr; 
} 

在此先感謝

回答

0

只需使用內置的filegetcsv。它會爲你做到這一點。

+0

事情是,File_CSV_DataSource包有很容易使用csv操作,但它不修改文件本身,它只是修改輸出。我的意圖是使用此包對csv文件進行一些修改(刪除列,添加列),使用上面的函數接收所需的輸出,然後使用fputcsv將輸出寫入到csv文件(這需要表單中的數組我在上面的問題中指出)。我沒有從頭開始編寫腳本的經驗,所以最簡單的方法是修改當前的函數以完成我所需要的功能。 – 2010-11-01 19:33:10