2017-12-23 1 views
0

3 개의 개별 CSV에서 데이터를 가져 와서 데이터를 3 개의 개별 배열로 채우려고합니다. 괜찮아요, 몇 가지 세부 사항이 변경된 두 번째 복제본 인 세 번째는 ... 왜요?3 개의 외부 CSV에서 데이터를 배열로 저장하는 방법

어떻게 세 번째 작업을 수행 할 수 있습니까?

// First one 

    $awd_fp = fopen('https://example.com/test1.csv', 'r'); 

    $awd_stocks_temp = array(); 

    while($awd_row = fgetcsv($awd_fp)) { 
     $awd_stocks_temp[] = $awd_row; 
    } 

    fclose($awd_fp); 

    // Second one 

    $aeo_fp = fopen('https://example.com/test2.csv', 'r'); 

    $aeo_stocks_temp = array(); 

    while($aeo_row = fgetcsv($aeo_fp)) { 
     $aeo_stocks_temp[] = $aeo_row; 
    } 

    fclose($aeo_fp); 

    // Third one 

    $hb_fp = fopen('https://example.com/test3.csv', 'r'); 

    $hb_stocks_temp = array(); 

    while($hb_row = fgetcsv($hb_fp)) { 
     $hb_stocks_temp[] = $hb_row; 
    } 

    fclose($hb_fp); 

    echo '<hr>'; 
    echo count($awd_stocks_temp) . '/'; 
    echo count($aeo_stocks_temp) . '/ '; 
    echo count($hb_stocks_temp); 
    echo '<hr>'; 
+0

'test3.csv'에서 무엇을 얻었는지 확인 했습니까? 코드가 정상적으로 표시되므로 데이터 여야합니다. – RiggsFolly

+0

csv 파일에 문제가있는 것 같습니다. 오류가 반환되는지 확인 했습니까? –

+0

만약 내가'print_r' 배열이 비어있게하려고한다면. 브라우저에 파일을로드하면 데이터가 다운로드되고 포함됩니다 (두 번째 파일과 정확히 동일하게 작동합니다) – bigdaveygeorge

답변

0

코드가 제대로 작동합니다. CSV 파일에 문제가있는 것 같습니다. 내가 제안 할 수있는 것은 csv 파일을 읽는 데 필요한 동일한 코드를 작성하는 대신에 왜 반복하지 않는지입니다.

<?php 
$files = array(
    'test1.csv', 
    'test2.csv', 
    'test3.csv' 
); 
$stocks_temp = array(); 
$ctr = 0; 
foreach($files as $file){ 
    $fp = fopen($file, 'r'); 
    while($row = fgetcsv($fp)) { 
     $stocks_temp[$ctr][] = $row; 
    } 
    fclose($fp); 
    $ctr++; 
} 

// you will get all data in multidimensional array 
echo "<pre>"; 
print_r($stocks_temp); 
?> 
관련 문제