2015-12-04 109 views
-1

我想請求幫助完成此任務。 我有一個很大的CSV,我希望逐欄解析(並以某種方式分析每一列)。 我的想法是這樣的,但它不工作(一旦陣列未設置,我不能推到它了):PHP - 按列解析CSV列

$a = 0; 
    while ($a < COUNT_OF_COLUMNS) { 
     $column = Array(); 
     while (($data = fgetcsv($handle, $filesize, "$")) !== false) { 
      array_push($column,$data[$a]); 
     } 

     $a++; 
    } 

任何幫助,將無法欣賞 謝謝大家

+0

你可以把這個問題與你以前的問題? http://stackoverflow.com/questions/34078183/php-parse-large-csv-into-array-of-arrays-memory-size-exhausted?rq=1他們真的是一回事。 – willoller

回答

0

數組的數組作爲答案,試試這個:

$a = 0; 
$results = array(); 

while ($a < COUNT_OF_COLUMNS) { 
    $column = Array(); 
    while (($data = fgetcsv($handle, $filesize, "$")) !== false) { 
     array_push($column,$data[$a]); 
    } 

    $results[] = do_your_analysis_here($column); 

    $a++; 
} 
+0

我不能使用數組數組,CSV非常大,導致內存泄漏。我需要加載一列,分析並丟棄它。 –

+0

在這種情況下,您應該分析內部'while {}'循環關閉之後的列,然後再執行$ a ++' – willoller

+0

好吧,然後呢?我仍然會有一些陣列:( –