在php中从csv读取多行

在php中从csv读取多行,php,csv,Php,Csv,如何从csv文件中同时读取两行并执行操作。 我的逻辑是这样的 <?php $i = 1; while ($i <= 10) { $j=1; echo "<br>"; echo $i; while ($j <= $i+1) { echo $j; $j = $j+1; } $i = $i+1; } ?> 我试图在读取csv文件时复制相同的逻辑,但由于某些原因,我没有得到两

如何从csv文件中同时读取两行并执行操作。 我的逻辑是这样的

<?php
$i = 1;
while ($i <= 10) {
    $j=1;
    echo "<br>";
    echo $i;
    while ($j <= $i+1) {
        echo $j;
        $j = $j+1;
    }
    $i = $i+1;  
}  
?>

我试图在读取csv文件时复制相同的逻辑,但由于某些原因,我没有得到两行数据

<?php

$conn = mysqli_connect("localhost","root","","bpcl");
$filename = "test.csv";
$file = fopen($filename, "r");
$file1 = fopen($filename, "r");
$i = 1;
while (($getData = fgetcsv($file, 10000, ",")) !== FALSE) {
    $j = 1;
    echo $getData[1];
    while ((($getData2 = fgetcsv($file1, 10000, ",")) !== FALSE) || ($j <= $i+1)) {
        echo $getData2[1];
        $j = $j+1;
    }
    $i = $i+1;

}

?>


我的当前日期数据取决于前一天,因此我在遍历整个csv时需要两行数据。在此处寻求帮助

您无需打开文件两次或进行两次循环,只需在while循环中读取csv,然后始终在循环结束时将此记录存储在前几天的数据中。然后,如果设置了以前的数据,您可以使用此

$conn = mysqli_connect("localhost","root","","bpcl");
$filename = "test.csv";
$file = fopen($filename, "r");
$previousDay = null;
while ($currentDay = fgetcsv($file)) {
    echo "today = ".$currentDay[0].PHP_EOL;
    if ( $previousDay != null ) {
        echo "yesterdays = ".$previousDay[0].PHP_EOL;
    }

    $previousDay = $currentDay;
}
如果您想从两天的数据开始,那么在循环之前加载前几天的数据

$previousDay = fgetcsv($file);

如果您的逻辑依赖于前几天,为什么不在while循环中跟踪前一天?无需读取文件两次。我需要我的逻辑来读取内存中有两行的整个csv文件。