如何将3个外部CSV中的数据放入数组(前2个工作,3个不工作)

问题描述 投票:0回答:1

我试图从3个单独的CSV中获取数据并将数据放入3个单独的数组中,在前2个工作正常的下面的代码中,第3个是第二个的克隆,其中一些细节已更改不...为什么?

我怎么能让第三个工作呢?

    // 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>';
php csv fopen fgetcsv
1个回答
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);
?>
© www.soinside.com 2019 - 2024. All rights reserved.