在php中从csv读取多行
如何从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文件时复制相同的逻辑,但由于某些原因,我没有得到两
<?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文件。